【问题标题】:Merge Existing Partition in HIVE合并 HIVE 中的现有分区
【发布时间】:2016-09-26 11:21:17
【问题描述】:

如何合并现有分区并使其成为一个分区。 例如:我在年份列上有分区,例如 year=2011,year=2012,year=2013,year=2014。

我的要求是将2011年的分区合并到2013年的分区。 这样我就只能有 2013 和 2014 两个分区。

请帮忙。

问候, 马诺杰

【问题讨论】:

    标签: hive partitioning


    【解决方案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) 删除 source_table

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2017-06-24
        • 2018-12-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-03-09
        • 2016-04-01
        • 2015-06-12
        • 2021-11-05
        相关资源
        最近更新 更多