Hive 合并配置单元中的现有分区

Hive 合并配置单元中的现有分区,hive,partitioning,Hive,Partitioning,如何合并现有分区并使其成为一个分区。 例如:我在Year列上有一些分区,比如Year=2011、Year=2012、Year=2013、Year=2014 我的要求是从2011年到2013年合并分区。 所以我只能有两个分区2013和2014 请帮忙 问候,, Manoj1)创建新的目标表 2) 使用动态分区加载将数据插入目标表: insert overwrite table partition (partition_year) select col1, col2 ..., case when y

如何合并现有分区并使其成为一个分区。 例如:我在Year列上有一些分区,比如Year=2011、Year=2012、Year=2013、Year=2014

我的要求是从2011年到2013年合并分区。 所以我只能有两个分区2013和2014

请帮忙

问候,, Manoj

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) 如果您的分区列
year
被定义为字符串,那么您可以直接

  • year=History
    创建一个新分区(例如)
  • 数据文件从
    ../year=2011/
    等目录粗暴地移动到新目录
    ../year=History/
  • 删除现在为空的分区