Hadoop 配置单元查询嵌套数组

Hadoop 配置单元查询嵌套数组,hadoop,hive,etl,Hadoop,Hive,Etl,我有一个记录购物车信息的字段,如下所示。数组的长度不是固定的 [["SKU_001","Product Name A","Category1",$10.5,1], ["SKU002","Product Name B","Category1",$20,3]] 我的目标是将其反规范化为一个平行,可能如下所示: SKU | Product Name | Category | Unit Price | Product Quantity SKU001 | Product Name A |

我有一个记录购物车信息的字段,如下所示。数组的长度不是固定的

[["SKU_001","Product Name A","Category1",$10.5,1],
["SKU002","Product Name B","Category1",$20,3]]
我的目标是将其反规范化为一个平行,可能如下所示:

SKU    | Product Name   | Category  | Unit Price | Product Quantity

SKU001 | Product Name A | Category1 |  $10.5     |   1

SKU002 | Product Name B | Category2 |  $20       |   3
是否可以在不编写UDF的情况下实现转换?

您可以使用“横向视图分解(…)”语法将子数组作为行,然后选择子数组的各个元素作为列

select
  cart[0] as SKU,
  cart[1] as product_name,
  cart[2] as category,
  cart[3] as unit_price,
  cart[4] as product_quantity
from my_table lateral view explode(my_nested_array_field) t as cart

谢谢你的帮助。我尝试分解嵌套的_数组字段,但执行配置单元查询时出现未知异常错误。我不确定配置单元是否支持嵌套数组查询。我只能使用非嵌套数组(如数组(1,2,3))成功执行分解。还有什么建议吗?我想有些人正在解决这个问题。见此帖: