hive 在配置单元中将数组拆分为多行

niknxzdl  于 2023-03-12  发布在  Hive
关注(0)|答案(1)|浏览(179)

我有一个hive表,其中包含一个示例行:

LX556, 22, [“11”, “12”, “13”], [“FL”, “CA”, “TX”]

第3列和第4列的数组长度将相同!2我想打破数组并创建新行。
输出:

LX556, 22, 11, FL. 
LX556, 22, 12, CA. 
LX556, 22, 13, TX.

我是新来的Hive,真的需要帮助弄清楚这一点。
数组的长度是不断变化的,它不是静态的,有时它的长度是3或4或5,这就是我卡住的地方。

vnjpjtjt

vnjpjtjt1#

可以考虑使用posexplode。

with sample_table as (
  select 'LX556' col1, 22 col2, array('11', '12', '13') arr1, array('FL', 'CA', 'TX') arr2
)
 select col1, col2, val1, val2 
   from sample_table t 
lateral view posexplode(arr1) tf1 as pos1,val1 
lateral view posexplode(arr2) tf2 as pos2,val2
  where pos1 = pos2

查询结果

相关问题