在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 把一列拆成多行

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

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