テストデータ
-----------------------------------------------------------------{
"key1":"sample1",
"key2":2,
"key3":{
"key4":[
{
"key5":"sample5"
},
{
"key5":"sample6"
}
]
}
}
{"key1":"test1","key2":22,"key3":{"key4":[{"key5":"test5"},{"key5":"test6"}]}}
-----------------------------------------------------------------
※JSONが1行毎に複数存在する、ログデータのようなものを想定
テーブル定義
-----------------------------------------------------------------CREATE EXTERNAL TABLE json_table (
raw_data string
)
ROW FORMAT DELIMITED
LINES TERMINATED BY '\n'
LOCATION '/data/sample';
-----------------------------------------------------------------
※ログ1行(改行区切り)をStringとして定義
HQL
hive> SELECT get_json_object(json_table.raw_data, '$.key1') FROM json_table;
sample1
test1
sample1
test1
hive> SELECT get_json_object(json_table.raw_data, '$.key3.key4[0].key5') FROM json_table;
sample5
test5
sample5
test5
参考:
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-get_json_object
0 件のコメント:
コメントを投稿