【问题标题】:Dropping partitions in Hive在 Hive 中删除分区
【发布时间】:2017-09-28 17:24:10
【问题描述】:

您好,所有表都在第 1 列和第 2 列分区,都是 INT 类型,我正在使用以下命令删除分区,column1 等于 null 或 HIVE_DEFAULT_PARTITION

ALTER TABLE Table_Name DROP IF EXISTS PARTITION(column1=__HIVE_DEFAULT_PARTITION__,column2=101);

但我收到以下错误:在 ',' 附近缺少 \'

当我这样做时:

show partitions Table_Name(这是要删除的分区的样子)

输出:

column1=__HIVE_DEFAULT_PARTITION__/column2=101

【问题讨论】:

    标签: hive partition


    【解决方案1】:

    感谢您的回答,伙计们对此表示赞赏..实际上发现了问题

    ALTER TABLE Table_Name DROP IF EXISTS PARTITION(column1<1,column2=101);

    因为 column1 有一个空值条目,我想删除它是 HIVE_DEFAULT_PARTITION 或 (null),所以使用条件

    【讨论】:

      【解决方案2】:

      您是否尝试过将 HIVE_DEFAULT_PARTITION 放在引号中

      ALTER TABLE Table_Name DROP IF EXISTS 
      PARTITION(column1='__HIVE_DEFAULT_PARTITION__',column2=101);
      

      【讨论】:

        【解决方案3】:

        您可以直接删除column2上的分区。

        ALTER TABLE Table_Name DROP IF EXISTS PARTITION(column2=101);
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多