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

How to Append new data to already existing hive table

如何将记录附加到现有的分区 Hive table? 例如,我有一个名为 "ip_country" 的现有外部 Table,数据集是 testdata1。如果数据集增长,比如我第二天的数据集是 testdata1 和 testdata2 那么如何添加新数据,即 "testdata2" 到 "ip_country" 配置单元 table.

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

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

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

  1. 如果您不关心分区中的重复项,那么 Insert Into 可能适合(老实说,我不希望有重复的记录)。

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

  1. 如果你有历史数据加上增量数据,那么历史数据可以插入一次,增量数据(基于你选择的频率daily/weekly/fortnightly基础)可以使用Insert Overwrite