hive解析json字符串
时间: 2023-09-08 13:12:55 浏览: 101
若要在Hive中解析JSON字符串,可以使用Hive内置的json_tuple()函数或get_json_object()函数。
1. 使用json_tuple()函数:
语法:json_tuple(string jsonStr, string key1, string key2, …)
示例:假设有以下JSON字符串:
{"name": "John", "age": 30, "city": "New York"}
我们可以使用以下Hive查询语句解析该JSON字符串:
SELECT json_tuple('{"name": "John", "age": 30, "city": "New York"}', 'name', 'age', 'city');
输出结果为:
John 30 New York
2. 使用get_json_object()函数:
语法:get_json_object(string json_string, string path)
示例:假设有以下JSON字符串:
{"name": {"first": "John", "last": "Doe"}, "age": 30, "city": "New York"}
我们可以使用以下Hive查询语句获取该JSON字符串中的某个键值对:
SELECT get_json_object('{"name": {"first": "John", "last": "Doe"}, "age": 30, "city": "New York"}', '$.name.first');
输出结果为:
John
注意,get_json_object()函数中的第二个参数是一个JSON路径,可以使用“$”表示根节点。如果要获取多个键值对,需要多次调用get_json_object()函数。
阅读全文