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

时间:2014-11-05 13:39:27

标签: hive

我有一个特定结构的hive空表。

我有10个具有相同结构,数据类型和架构但表名不同的其他表。

我使用"将一个表的数据加载到空表中;插入"并说我有10密耳的记录。

现在我使用"插入"将第二个表加载到此表中。

当我进行计数(*)时,它没有向我显示整个记录数。

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

为什么?我希望加载所有记录。

任何帮助都会很棒!

2 个答案:

答案 0 :(得分:0)

这样做,

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

答案 1 :(得分:0)

您对所有表都有相同的架构,因此最好将文件复制到新的空表。如果你没有在hive表中有任何分区,这是一个更好的解决方案。