小编div*_*thi的帖子

Hive - 将分隔列拆分为多行,根据位置进行选择

我正在寻找一种根据逗号分隔数据拆分列的方法。以下是我的数据集

id  col1  col2
1   5,6   7,8
Run Code Online (Sandbox Code Playgroud)

我想得到结果

id col1 col2
1  5    7
1  6    8
Run Code Online (Sandbox Code Playgroud)

索引的位置应该匹配,因为我需要相应地获取结果。

我尝试了以下查询,但它返回笛卡尔积。

询问

SELECT col3, col4
FROM test ext 
lateral VIEW explode(split(col1,'\002')) col1 AS col3
lateral VIEW explode(split(col2,'\002')) col2 AS col4
Run Code Online (Sandbox Code Playgroud)

结果

id col1 col2
1  5    7
1  5    8
1  6    7
1  6    8
Run Code Online (Sandbox Code Playgroud)

hadoop hive hiveql

4
推荐指数
1
解决办法
5887
查看次数

标签 统计

hadoop ×1

hive ×1

hiveql ×1