Hive 在配置单元中将多个表中的数据加载到单个表中时?

Hive 在配置单元中将多个表中的数据加载到单个表中时?,hive,Hive,我有一个特定结构的蜂巢空表 我还有10个其他表,它们的结构、数据类型和模式相同,但表名不同 我使用insert into将一个表的数据加载到空表中,并说我有10 mil记录 现在,我使用insert into将第二个表加载到此表中 当我进行计数*时,它不会显示记录的全部计数 它仅显示上次加载的表的记录计数 为什么呢?我想把所有的记录都装进去 任何帮助都会很好 这样做 insert into table table_name Select * from ( SELECT b.var1

我有一个特定结构的蜂巢空表

我还有10个其他表,它们的结构、数据类型和模式相同,但表名不同

我使用insert into将一个表的数据加载到空表中,并说我有10 mil记录

现在,我使用insert into将第二个表加载到此表中

当我进行计数*时,它不会显示记录的全部计数

它仅显示上次加载的表的记录计数

为什么呢?我想把所有的记录都装进去

任何帮助都会很好

这样做

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,这将起作用