【发布时间】:2017-04-03 09:12:17
【问题描述】:
我正在将 Json 数据插入 Hive。这是格式 -
A1 Array <
struct <
product array <
struct <
dim1 array < struct <> >
dim2 array < struct <> >
>
>
>>
在 from table 子句中,我使用explode as:
Lateral view outer explode(A1.product) t1 as prod Lateral view outer explode(prod.dim1) t2 as prod_d1 Lateral view outer explode(prod.dim2) t3 as prod_d2
样本数据:
A1["product":[{"productsku":"p_dmf_qs:click: page load","v2productname":"Quality Score - click: page load","v2productcategory":"DMF","productvariant":"(not set)","productbrand":"xxxx","productrevenue":"1000","localproductrevenue":null,"productprice":"100","productquantity":"1","productrefundamount":null,"productlistname":"(not set)","dim1":[],"dim2":[]}]]
当我在 select 语句中将 t2 和 t3 称为 prod_d1 和 prod_d2 时,我在结果中得到一个结构,而不是数组。 请帮我。它是一个嵌套结构。如果我没有第一个产品数组,我可以轻松地将其称为 A1.dim1 和 A1.dim2 作为两个爆炸函数。请帮帮我。
【问题讨论】:
-
请添加表定义+小数据样本(几行)
-
更新了我的问题中的示例数据。好心检查。谢谢
标签: arrays json hadoop hive explode