brickhouse 는 cookbook 이 정리가 잘 안되어있어서 좋은데도 사용을 잘 못하고 있는게 아닌가 싶다. 이번에는 timeseries 에 있는 함수의 예제를 정리하고자 한다. https://github.com/klout/brickhouse/tree/master/src/main/java/brickhouse/udf/timeseries 1. moving_avg 이동평균값을 구할때 사용한다. 쉽게 생각하면 주식차트에서 7일 이동평균, 30일 이동평균선 같이 평균값을 만들어 내는데 이런 값을 유도한다고 생각하면 된다. 그래서 array 값과 이동평균을 할 값을 지정하면 된다. 내부적으로 double 로 캐스팅해서 계산하므로 항상 소숫점으로 나온다. beeline> CREATE TEMPORARY FUNCT..
hive 의 udf 로 사용하다보면 아쉬운점이 많은데, brickhouse 의 UDF 를 쓰면 가려운 부분을 많이 긁어줘서 편하게 로직을 만들수 있다. 여러 케이스의 udf 가 있지만, 여기서는 json 관련 udf 의 샘플과 예시를 적어두고자 한다. 편의상 add jar 는 되어있다고 가정하겠다. https://github.com/klout/brickhouse GitHub - klout/brickhouse: Hive UDF's for the data warehouse Hive UDF's for the data warehouse. Contribute to klout/brickhouse development by creating an account on GitHub. github.com json 함수는 아..
hive 쿼리를 다루다보면 array, map 같은 데이터 타입이 존재하는데, 이런 데이터를 다룰때 기본적으로는 explode() 후 처리하는것이 기본적인 접근방식이다. 1. hive 기본 array 함수 별도의 jar 를 추가할 필요없이 hive 에서 기본으로 제공하는 array 관련 함수이며, 관련된 내용은 아래 링크에 정리되어있다. https://cwiki.apache.org/confluence/display/hive/languagemanual+udf 1.1 size 배열의 사이즈를 구하는 함수이다. beeline> select size( array(1,2,2,3) ); +------+ | _c0 | +------+ | 4 | +------+ 1.2 array_contains 배열에 특정한 아이템이..