如何使用json\u元组来解析json对象中您不知道密钥名称的所有元素(Hive)

e0bqpujr  于 2021-06-25  发布在  Hive
关注(0)|答案(0)|浏览(206)

我正在解析来自api的数据,该api以json格式返回有关产品的数据。我有一张Hive桌 json_message_table 在表的一行中有每个json消息。我想用这些信息填充配置单元表,并需要分解json结构。
结构是这样的。

{product_name : ... , meta : { product_structure : { sub_product_1 : {...},sub_product_2 : { ... } ... }}

我以前在类似情况下所做的是

SELECT b1.product_name as ProductName,
        b3.product_structure as ProductStructure
        FROM json_message_table a
        LATERAL VIEW json_tuple(a.messages,'product_name') b1 as product_name
        LATERAL VIEW json_tuple(a.messages,'meta') b2 as meta
        LATERAL VIEW json_tuple(b2.meta,'product_structure') b3 as product_structure;

我的问题是钥匙的名字 sub_product_1,sub_product_2 对于每个json对象都是不同的,它们可以被调用任何东西,所以我不能指定它们将被调用什么,因此不知道如何使用 LATERAL VIEW 以及 json_tuple 分析它们。
我想要的是解析product\u structure json中的每个字段,而不管键名是什么,然后继续解析各自json中的元数据。有办法吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题