我想从嵌套的JSON中获取一些数值为数百万行(5 TB +表)。什么是最有效的方法来做到这一点?蜂巢:解析JSON
下面是一个例子:
{"country":"US","page":227,"data":{"ad":{"impressions":{"s":10,"o":10}}}}
我需要这些值超出上述JSON的:
Country Page impressions_s impressions_o
--------- ----- ------------- --------------
US 2 10 10
这是蜂巢的json_tuple功能,我不知道这是否是最好的功能。 https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-getjsonobject
===========解决方案如下:
实现SerDe来解析JSON数据是一种更好的方法。
关于如何实现SERDE解析JSON的指南可以在这里找到
http://blog.cloudera.com/blog/2012/12/how-to-use-a-serde-in-apache-hive/
您可以使用下面的示例SERDE实施以及
https://github.com/rcongiu/Hive-JSON-Serde