나 처럼 쿼리가 더 편하고, 엑셀이 더 낯선 사람을 위한 코너이다. 엑셀 자체에 필터기능이 존재 해서 쉽게 필터를 사용할 수 있는데, 함수를 이용해서 필터링하는것은 잘 안내되지 않는 경우가 많다. 만약, 아래 데이터에서 고향이 서울이나 부산이면서, 나이가 30세 이상인 사람만 필터링 하려면 어떻게 해야할까? 쿼리로 표현하면 이렇다 쿼리로 표현하면 이런 SQL 로 표현이 가능하다. 그럼 엑셀에서는 어떻게 표현해야할까? SELECT * FROM 직원 WHERE (고향 = '서울' OR 고향 = '부산) AND 나이 >= 30 ; 엑셀로 표현하는 방법 결론부터 말하면 엑셀에서 filter 함수를 사용하면 쉽게 해결된다. 인자값이 3개인데 가장 중요한건 2번째 인자값으로 조건문에 해당한다. =FILTER(직원!..
Hive 에서 list 와 같이 N개의 아이템이 담기는 필드를 행으로 풀어낼때 explode 쿼리를 사용한다. 하지만 flink 에서는 아무리 검색해도 해당 문법이 잘 안나오는데 그 이유는 hive 에서는 explode 라는 문법을 쓰지만 flink sql 에서는 cross join unnest 라는 문법을 사용해야 하기 때문에 검색이 안된 문제였다. explode 쿼리 예시 100번의 설명보다는 하나의 예시가 더 도움이 될것같아 예시를 들어보겠다. 다음과 같이 authros 필드에 n개의 필드가 1개의 row 를 풀어내려면 어떻게 해야할까? Flink SQL 로 표현하면 아래와 같이 cross join unnest 를 이용해 표현 가능하다. SELECT book_title, price, author.n..
flink 에서는 create table like 구분이 있어서, 필드가 동일한 필드를 상속받듯이 필드선언을 할 수 있다. 하지만 alter table 에 대한 document 를 확인해보면, 테이블의 이름과 테이블 속성값만 바꿀수 있다. https://nightlies.apache.org/flink/flink-docs-master/docs/dev/table/sql/alter/#alter-table 재밌는건, table api 에는 addColumns, AddOrReplaceColumns, DropColumns 가 지원되지만, sql 로는 이걸 사용할수 없다는점이다. 그럼 flink 에서 sql 로 필드를 변경하는 방법은 정말 방법이 없을까? https://nightlies.apache.org/flink..