티스토리 뷰

hive의 함수를 테스트할 때 array, map, json 문자열을 이용하여 값을 테스트 해야 하는 경우가 있다. 


이럴때 임시로 문자열을 이용하여 데이터를 생성하고 테스트하면 편리하다. 

다음과 같이 사용한다. 


select array(1,2,3)[2];


select array("a","b","c")[1];


select str_to_map("key1:value1,key2:value2", ",", ":")['key2'];


SELECT get_json_object('{"store":

  {"fruit":\[{"weight":8,"type":"apple"},{"weight":9,"type":"pear"}],

   "bicycle":{"price":19.95,"color":"red"}

  },

 "email":"amy@only_for_json_udf_test.net",

 "owner":"amy"

}', '$.owner');


<결과 확인>

hive> select array(1,2,3)[2];

OK

3

Time taken: 0.046 seconds, Fetched: 1 row(s)


hive> select array("a","b","c")[1];

OK

b

Time taken: 0.036 seconds, Fetched: 1 row(s)


hive> select str_to_map("key1:value1,key2:value2", ",", ":")['key2'];

OK

value2

Time taken: 0.053 seconds, Fetched: 1 row(s)


hive> SELECT get_json_object('{"store":

    >   {"fruit":\[{"weight":8,"type":"apple"},{"weight":9,"type":"pear"}],

    >    "bicycle":{"price":19.95,"color":"red"}

    >   },

    >  "email":"amy@only_for_json_udf_test.net",

    >  "owner":"amy"

    > }', '$.owner');

OK

amy




반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함