Hive 在配置单元中将多个表中的数据加载到单个表中时?
我有一个特定结构的蜂巢空表 我还有10个其他表,它们的结构、数据类型和模式相同,但表名不同 我使用insert into将一个表的数据加载到空表中,并说我有10 mil记录 现在,我使用insert into将第二个表加载到此表中 当我进行计数*时,它不会显示记录的全部计数 它仅显示上次加载的表的记录计数 为什么呢?我想把所有的记录都装进去 任何帮助都会很好 这样做Hive 在配置单元中将多个表中的数据加载到单个表中时?,hive,Hive,我有一个特定结构的蜂巢空表 我还有10个其他表,它们的结构、数据类型和模式相同,但表名不同 我使用insert into将一个表的数据加载到空表中,并说我有10 mil记录 现在,我使用insert into将第二个表加载到此表中 当我进行计数*时,它不会显示记录的全部计数 它仅显示上次加载的表的记录计数 为什么呢?我想把所有的记录都装进去 任何帮助都会很好 这样做 insert into table table_name Select * from ( SELECT b.var1
insert into table table_name
Select * from
(
SELECT b.var1 FROM tmp_table1 b
UNION ALL
SELECT c.var1 FROM tmp_table2 c
UNION ALL
SELECT d.var1 FROM tmp_table3 d
UNION ALL
SELECT e.var1 FROM tmp_table4 e
UNION ALL
SELECT f.var1 FROM tmp_table5 f
UNION ALL
SELECT g.var1 FROM tmp_table6 g
UNION ALL
SELECT h.var1 FROM tmp_table7 h
) CombinedTable
所有表都有相同的模式,所以最好将文件复制到新的空表中。如果配置单元表中没有任何分区,这是一个更好的解决方案。我无法使用insert into将多个表中的数据加载到单个表中?只是好奇,根据文档,insert into会追加表吗?你能解释一下你在这个查询中做了什么吗?按照更新后的答案做。选择查询union all table并插入到最终表中。没有其他方法吗?每个表中有53列。如果我把所有的桌子合并起来,那要花很多时间。每个表都有大约20-50 mil的重新记录。不,我希望所有数据都在一个表中。这就是为什么我使用insert into命令将文件加载到单个表中的原因。只需将文件复制到一个新表中,如hadoop fs-cp/user/hive/db.old1/user/hive/db.new/如果没有Hcatalog,这将起作用