Hive: 使用 LATERAL VIEW EXPLODE 将字段值转换为多行
Hive: 使用 LATERAL VIEW EXPLODE 将字段值转换为多行
在 Hive 中,可以使用 LATERAL VIEW EXPLODE 函数将包含多个值的字段转换为多行,例如将数组字段转换为多行。
操作步骤
- 创建包含需要转换的字段的表
CREATE TABLE table_name (
id INT,
name STRING,
hobbies ARRAY<STRING>
);
- 插入数据
INSERT INTO table_name VALUES
(1, 'Tom', ['reading', 'swimming']),
(2, 'Jerry', ['playing', 'running', 'climbing']),
(3, 'Lucy', ['dancing']);
- 使用 LATERAL VIEW EXPLODE 函数将 hobbies 字段转换为多行
SELECT id, name, hobby
FROM table_name
LATERAL VIEW EXPLODE(hobbies) exploded_hobbies AS hobby;
结果
id name hobby
1 Tom 'reading'
1 Tom 'swimming'
2 Jerry 'playing'
2 Jerry 'running'
2 Jerry 'climbing'
3 Lucy 'dancing'
说明
通过使用 LATERAL VIEW EXPLODE 函数,hobbies 字段被转换为了多行,并且每个值都与原表中的其他字段对应。
总结
LATERAL VIEW EXPLODE 函数是 Hive 中一个非常实用的函数,可以帮助我们轻松地将包含多个值的字段转换为多行,从而方便我们进行后续的数据处理。
原文地址: https://www.cveoy.top/t/topic/nu8V 著作权归作者所有。请勿转载和采集!