hive 4.x 부터 array 를 다루는 UDF 가 기본 포함되었다. array 에서 특정아이템을 빼거나, 합치거나 이런 기능을 기본적으로 사용가능하다는건데 문제는 azure 도 그렇고 아직 hive 3.x 에 하둡 3.x 버전대가 주류를 이루고 있어서 기본적으로 사용을 못하는게 함정이다. 다행히 github 에 있는 hive 4.x 에서 array 를 다루는 udf 클래스만 추출해서 빌드한걸 테스트해보니 hive 3 버전대에서도 문제없이 동작하는걸 확인했다. 빌드 / 다운로드 UDF 를 빌드하는 방법은 Azure 도큐먼트에 잘 정리되어있다. 나는 이 글을 참고하고 github 에서 관련된 udf 만 추출해서 빌드를 했다. https://learn.microsoft.com/ko-kr/azure/hdin..
hive 에서는 string, bigint, double, decimal 같은 일반적인 primitive 데이터 타입이외에 map, struct, array 같은 complex type 을 지원한다. 테스트용 쿼리를 만들때 primitive 타입의 경우 쉽게 표현이 가능한데 complext type 을 표현하는 방법은 종종 헛갈릴때가 많아서 간단히 표현법을 다루고자 한다. hive 에서는 기본적으로 "select 값" 형태로 더미 값을 출력해보는게 가능한데, complext type 을 선언하여 보는건 아래와 같이 사용하면 된다. 참고로 array 와 같이 N개의 아이템을 풀어서 분석하려면? explode 를 이용해 분석하면 되는데, 그건 아래 글을 참고하도록 하자. 2023.11.27 - [데이터처리/..