以增量方式加载带有平面文件的Hive bucketed表

时间:2014-10-26 19:53:04

标签: load hive bucket

我有一个平面文件person.txt,我每天都会收到以下字段 ID,名称,州,DOB

我有一个Hive表-Person,它由状态分区并由Id(30个桶)分隔。 1)有没有办法直接将person.txt加载到Person中,以便创建30个桶?   目前我有一个中间表,它充当一个临时层,从中将数据加载到Person

2)我每天都会以增量方式收到person.txt。有没有办法以增量方式加载Person,以便始终保持30个桶。当我从Staging表写入时,插入覆盖将清除所有内容,因此我必须在Staging中维护person.txt的完整历史记录,显然整个事物存在于Person中,并且由于复制因子为3. 1 TB变为6 TB。 / p>

任何指针,都会有所帮助

1 个答案:

答案 0 :(得分:0)

在状态分区之后将第二个分区添加到您的表中,就像batchid一样。 每次加载新文件时都将批次运行编号作为分区值提供,以便新文件进入新分区并为每次加载创建30个桶。

  

插入覆盖表PERSON分区(state,batchid)选择...

OR

  

LOAD数据本地inpath覆盖到表PERSON分区(batchid = 1);