hive sql 行转列
时间: 2023-09-10 16:11:33 浏览: 89
hive列转行案例
5星 · 资源好评率100%
Hive SQL 中可以使用 `LATERAL VIEW` 和 `explode()` 函数将行转列。假设有如下表 `table1`:
```
id name colors
1 John red,green,blue
2 Sarah yellow,orange
```
我们可以使用以下语句将 `colors` 列转换为多行:
```
SELECT id, name, color
FROM table1
LATERAL VIEW explode(split(colors,',')) colors_table AS color;
```
输出结果为:
```
id name color
1 John red
1 John green
1 John blue
2 Sarah yellow
2 Sarah orange
```
这里的 `split()` 函数用于将 `colors` 列按逗号进行分割,生成一个数组。`explode()` 函数用于将数组展开为多行,然后使用 `LATERAL VIEW` 将展开后的表与原表进行连接。最终输出结果即为行转列后的表格。
阅读全文