合并HIVE中的现有分区

时间:2016-09-26 11:21:17

标签: hive partitioning

如何合并现有分区并将其分配到一个分区。 例如:我在年份列上有分区,如年份= 2011年,年份= 2012年,年份= 2013年,年份= 2014年。

我的要求是合并2011年到2013年分区的分区。 因此,2013年和2014年我只能拥有2个分区。

请帮忙。

此致 的Manoj

2 个答案:

答案 0 :(得分:1)

1)创建新的目标表

2)使用动态分区加载将数据插入目标表:

insert overwrite table partition (partition_year)
select col1, col2 ..., case when year between 2011 and 2013 then 2013
                            when year >=2014 then 2014 
                         end  as partition_year from source_table

3)drop source_table

答案 1 :(得分:1)

如果您的分区列year被定义为STRING,那么您可以......

  1. year=History (例如)
  2. 创建新分区
  3. 粗暴数据文件从.../year=2011/等目录移至新目录.../year=History/
  4. 删除现在为空的分区