Hive: 使用 LATERAL VIEW EXPLODE 将字段值转换为多行

在 Hive 中,可以使用 LATERAL VIEW EXPLODE 函数将包含多个值的字段转换为多行,例如将数组字段转换为多行。

操作步骤

  1. 创建包含需要转换的字段的表
CREATE TABLE table_name (
  id INT,
  name STRING,
  hobbies ARRAY<STRING>
);
  1. 插入数据
INSERT INTO table_name VALUES
(1, 'Tom', ['reading', 'swimming']),
(2, 'Jerry', ['playing', 'running', 'climbing']),
(3, 'Lucy', ['dancing']);
  1. 使用 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 中一个非常实用的函数,可以帮助我们轻松地将包含多个值的字段转换为多行,从而方便我们进行后续的数据处理。

Hive: 使用 LATERAL VIEW EXPLODE 将字段值转换为多行

原文地址: https://www.cveoy.top/t/topic/nu8V 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录