相关疑难解决方法(0)

在Hive中分解Struct数组

这是下面的Hive表

CREATE EXTERNAL TABLE IF NOT EXISTS SampleTable
(
USER_ID BIGINT,
NEW_ITEM ARRAY<STRUCT<PRODUCT_ID: BIGINT,TIMESTAMPS:STRING>>
)
Run Code Online (Sandbox Code Playgroud)

这是上表中的数据 -

1015826235     [{"product_id":220003038067,"timestamps":"1340321132000"},{"product_id":300003861266,"timestamps":"1340271857000"}]
Run Code Online (Sandbox Code Playgroud)

有什么办法可以在爆炸阵列后从HiveQL获得以下输出吗?

**USER_ID**  |  **PRODUCT_ID**  |   **TIMESTAMPS**
 ------------+------------------+----------------
1015826235      220003038067       1340321132000
1015826235      300003861266       1340271857000
Run Code Online (Sandbox Code Playgroud)

更新

我写了这个查询以获得上述格式的输出,但它并没有按照我想要的方式给出结果.

SELECT myTable1.myCol1,myTable2.myCol2 FROM sampletable st LATERAL VIEW 
explode(st.purchased_item.product_id) myTable1 AS myCol1 LATERAL VIEW 
explode(st.purchased_item.timestamps) myTable2 AS myCol2;
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我解决我的错误吗?任何建议将不胜感激.

hadoop hive mapreduce hiveql

41
推荐指数
2
解决办法
8万
查看次数

标签 统计

hadoop ×1

hive ×1

hiveql ×1

mapreduce ×1