hive 把一列拆成多行
在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 |
+----+------+
原文地址: http://www.cveoy.top/t/topic/dqub 著作权归作者所有。请勿转载和采集!