如何在Hive中的分区表之间移动数据

时间:2016-09-27 09:47:16

标签: hive partitioning

我有两个表emp1emp2有字段 -

  • 用户ID
  • 名称
  • 占用
  • 国家

emp1在国家/地区有分区,emp2占用分区

如何将数据从emp1移至emp2

1 个答案:

答案 0 :(得分:0)

使用emp1表中emp1 plus(union all)旧数据的数据集覆盖目标表。注意在查询结束时distribute by - 这是为了优化分区创建,最终Reducer只接收它们的分区数据,这样可以减少内存消耗。

insert overwrite table emp2 partition(occupation) 
select userid, name, country, occupation from emp1 
union all
select userid, name, country, occupation from emp2
distribute by occupation;

此外,您可以使用row_number()添加删除重复项。