如何将新数据附加到现有的配置单

时间:2015-05-13 10:16:26

标签: hadoop hive

如何将记录追加到现有的分区Hive表中? 例如,我有一个名为“ip_country”的外部表,数据集是testdata1。如果数据集增长,比如说我的数据集在第二天就是testdata1和testdata2,那么如何将新数据,即“testdata2”附加到“ip_country”hive表。

1 个答案:

答案 0 :(得分:3)

可以通过几种方式实现(完全取决于您的要求)

  1. 如果您不打算覆盖分区中的现有记录,(我的意思是您没有大的历史数据,比如说10年的数据),那么插入覆盖可能适合。
  2.   

    INSERT OVERWRITE TABLE tablename1 [PARTITION(partcol1 = val1,   partcol2 = val2 ...)[IF NOT EXISTS]] select_statement1 FROM   from_statement;

    1. 如果你不打扰分区中的重复项,那么Insert Into可能适合(老实说我不喜欢有重复的记录)。
    2.   

      INSERT INTO TABLE tablename1 [PARTITION(partcol1 = val1,partcol2 = val2   ...)] select_statement1 FROM from_statement;

      1. 如果您有历史数据和增量数据,则可以插入历史数据一次,并且可以使用“插入覆盖”插入增量数据(基于您每天/每周/每两周选择的频率)