我正在尝试通过以下命令在Hive中进行多次插入覆盖。
INSERT OVERWRITE table results_3 SELECT NULL, res, NULL, NULL FROM results where field= 'title';
第一个命令后的results_3表的内容
NULL Up On Cripple Creek (2000 Digital Remaster) NULL NULL
NULL The Weight (2000 Digital Remaster) NULL NULL
NULL Rhythm Of The Rain (LP Version) NULL NULL
NULL Who'll Stop the Rain NULL NULL
NULL I Walk the Line NULL NULL
NULL Against The Wind NULL NULL
NULL Lyin' Eyes NULL NULL
NULL North To Alaska NULL NULL
NULL You Gave Me A Mountain NULL NULL
NULL Night Moves NULL NULL
INSERT OVERWRITE table results_3 SELECT NULL, NULL, res, NULL FROM results where field= 'albums';
第二个命令后的results_3表的内容
NULL NULL The Band NULL
NULL NULL The Band NULL
NULL NULL The Cascades NULL
NULL NULL Creedence Clearwater Revival NULL
NULL NULL Johnny Cash NULL
NULL NULL Bob Seger NULL
NULL NULL The Eagles NULL
NULL NULL Johnny Horton NULL
NULL NULL Marty Robbins NULL
NULL NULL Bob Seger NULL
但我想把这两件事合并在一起。你知道我怎么解决这个问题吗?
由于
答案 0 :(得分:2)
你可以这样方式追加:
INSERT OVERWRITE TABLE
select col1 ... col2
from
(
SELECT col1 ... coln from TABLE --old data
UNION ALL
SELECT col1 ... col2n from TABLE2 --new data
)
答案 1 :(得分:0)
Hive insert
目前不支持追加。
一种简单的方法:insert overwrite
两个目录。手动合并。
要么
insert into
一个具有不同分区的表(但实际上不同的分区有不同的目录)。
请参阅hive wiki了解更多信息。