본문 바로가기
빅데이터/hive

[hive] hive에서 함수용 테스트 array, map 데이터 생성하는 법

by hs_seo 2018. 4. 12.

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




반응형