gpt4 book ai didi

json - hive :解析 JSON

转载 作者:可可西里 更新时间:2023-11-01 14:10:46 28 4
gpt4 key购买 nike

我正在尝试从嵌套的 JSON 中获取数百万行(5 TB+ 表)的一些值。最有效的方法是什么?

这是一个例子:

{"country":"US","page":227,"data":{"ad":{"impressions":{"s":10,"o":10}}}}

我需要上述 JSON 中的这些值:

Country        Page      impressions_s       impressions_o
--------- ----- ------------- --------------
US 2 10 10

这是Hive的json_tuple函数,我不确定这是不是最好的函数。 https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-getjsonobject

最佳答案

您可以使用 get_json_object:

 select get_json_object(fieldname, '$.country'), 
get_json_object(fieldname, '$.data.ad.s') from ...

使用 json_tuple 会获得更好的性能,但我找到了“如何”在 json 中获取 json 中的值;要格式化你的表格,你可以使用这样的东西:

从表t侧 View
explode( split(regexp_replace(get_json_object(ln, ''$.data.ad.s'), '\\[|\\]', ''), ',' ) ) tb1 作为 s
上面的这段代码会将您转换为列中的“数组”。

表格更多:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF

希望对你有帮助...

关于json - hive :解析 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12645634/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com