hive解析json字符串
hive
使用get_json_object()函数,
它接受两个参数:第一个参数是一个包含JSON字符串的列,第二个参数是一个JSON路径表达式,用于指定要提取的值的位置。这个函数返回一个字符串或NULL,具体取决于提取的值是否存在。
get_json_object(obj,'$.name')
例如,如果我们有一个名为 obj 的列,它包含以下JSON字符串:{“name”:“John”, “age”:30},我们可以使用以下语句从中提取名字:
SELECT get_json_object(json_column, '$.name') as name FROM my_table;
这将返回一个名为“name”的列,其中包含值“John”。
presto
在presto和hive中解析json字符串使用的函数不同
json_array_get():可以提取json数组中的指定位置,默认第一位的索引是0
`json_array_get(obj,0)`:可以提取json数组中的指定位置,默认第一位的索引是0
json_extract_scalar():从 JSON 对象或 JSON 数组中提取一组标量值(字符串、整数或布尔值)。类似于 json_extract 函数。
json_extract_scalar(obj,'$.name')
Hive使用get_json_object()函数来解析JSON字符串,提取特定路径的值,如`$.name`。而Presto提供了json_array_get()用于获取JSON数组的元素,以及json_extract_scalar()来提取JSON对象或数组中的标量值。示例展示了如何从JSON对象中提取名字。
7080

被折叠的 条评论
为什么被折叠?



