Hive存储JSON数据最佳实践:解析和存储技巧
在Hive中,可以使用STRING类型存储JSON格式数据。解析JSON数据可以使用Hive内置的JSON函数,如json_tuple、get_json_object等函数。
例如,假设有以下JSON格式的数据:
{
'name': 'John',
'age': 30,
'address': {
'city': 'New York',
'state': 'NY'
},
'hobbies': ['music', 'reading', 'travel']
}
可以使用以下语句将JSON数据存储到Hive表中:
CREATE TABLE my_table (
json_data STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t';
LOAD DATA LOCAL INPATH '/path/to/json/file' OVERWRITE INTO TABLE my_table;
然后,可以使用以下语句解析JSON数据:
SELECT
get_json_object(json_data, '$.name') AS name,
get_json_object(json_data, '$.age') AS age,
get_json_object(json_data, '$.address.city') AS city,
get_json_object(json_data, '$.address.state') AS state,
get_json_object(json_data, '$.hobbies[0]') AS hobby1,
get_json_object(json_data, '$.hobbies[1]') AS hobby2,
get_json_object(json_data, '$.hobbies[2]') AS hobby3
FROM my_table;
这将返回以下结果:
name age city state hobby1 hobby2 hobby3
John 30 New York NY music reading travel
原文地址: https://www.cveoy.top/t/topic/lZHf 著作权归作者所有。请勿转载和采集!