Hive 拆分列为多行:使用 LATERAL VIEW 和 explode 函数

在 Hive 中,可以使用 LATERAL VIEW 和 explode 函数将包含逗号分隔值的列拆分为多行。

假设有一个表 test,其中包含两列 id 和 items,items 列中包含逗号分隔的多个值,我们想将 items 列拆分为多行:

CREATE TABLE test (
  id INT,
  items STRING
);

INSERT INTO test VALUES
(1, 'a,b,c'),
(2, 'd,e,f');

使用 LATERAL VIEW 和 explode 函数:

SELECT id, item
FROM test
LATERAL VIEW explode(split(items, ',')) itemsTable AS item;

这将返回以下结果:

+----+------+
| id | item |
+----+------+
|  1 | a    |
|  1 | b    |
|  1 | c    |
|  2 | d    |
|  2 | e    |
|  2 | f    |
+----+------+
Hive 拆分列为多行:使用 LATERAL VIEW 和 explode 函数

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

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