Hive 拆分列为多行:使用 LATERAL VIEW 和 explode 函数
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 |
+----+------+
原文地址: https://www.cveoy.top/t/topic/nE9y 著作权归作者所有。请勿转载和采集!