json 문자열을 complex data types 으로 바꿔줄 수 있는 유용한 함수이다.이게 유용한게 GET_JSON_OBJECT 으로 데이터를 찾아서, 묶어낼때 정규식을 써서 해결해야하는걸 데이터 타입을 바꿔서 쉽게 해결할수 있는 경우가 존재한다. brickhoust 의 from_json 함수와 같은 기능을 한다고 보면 된다. 2024.01.18 - [데이터처리/Hive] - [HIVE] JSON 을 다루는 함수 설명 & 예시 - brickhouse UDF json_read 가 유용할 때?hive 3.x 에서는 json_read 함수가 없다보니, 아래와 같이 json 결과가 몇건인지 혹은 데이터를 구분자로 묶어야 할때 처리가 매우 난감하다. 왜냐면 아래와 같이 문자열 [] 가 있고, 문자열에는 ""..
hive 4.x 버전에서 유용한 함수들이 많이 추가되었다. 그중 유용한 함수가 있어 몇가지 소개하고자 한다.UniqueCount , Count Distinct 를 구할때 속도가 많이 느린 문제가 있다. PageCount 같은 경우는 단순히 count 하면 되지만, UserCount 를 할때는 중복 접속한 사람을 제거해야하는 문제인데, 문제는 이런 값을 구하는 속도가 너무 오래걸린다. 그래서 HyperHyperLog 알고리즘을 이용하여 빠르게 구하는 함수가 존재하는데, presto 에는 존재했는데 hive 에는 없어서 이 값을 구하려면 매우 오래걸렸다. (참고로 approx_distinct 는 근사치를 구하긴 하지만 정확도대비 성능을 보면 무조건 써야할 경우가 많다) https://github.com/a..
hive 에서 array 를 다루는 함수가 기본적으로 너무 없었다. 배열크기를 찾는 size, 배열에 포함여부를 찾는 array_contains, 그리고 배열을 정렬해주는 sort_array 정도만 존재했다. 사실상 explode() 처리후 다시 collect_list() 로 묶어서 처리하라는 말인데... 문제는 2개의 필드를 explode() 해야할 경우 이게 참 껄끄러운 문제가 많고 아쉬운점이 많았다. https://cwiki.apache.org/confluence/display/hive/languagemanual+udf#LanguageManualUDF-CollectionFunctions Hive 4.x 추가된 Array 함수 hive 4.x 버전대부터 꽤 많은 UDF 가 추가되어있다. (근데 왜 h..