【问题标题】:How to undo ALTER TABLE ... ADD PARTITION without deleting data如何撤消 ALTER TABLE ...添加分区而不删除数据
【发布时间】:2019-11-06 21:27:54
【问题描述】:

假设我有两个配置单元表,table_1table_2。我用:

ALTER TABLE table_2 ADD PARTITION (col=val) LOCATION [table_1_location]

现在,table_2 将在col = val 所在的分区上拥有table_1 中的数据。

我想做的是扭转这个过程。我希望table_2 的分区不在col=val,并且我希望table_1 保留其原始数据。

我该怎么做?

【问题讨论】:

    标签: apache-spark hive partition hive-partitions hiveddl


    【解决方案1】:

    首先将您的表设为外部:

    ALTER TABLE table_2 SET TBLPROPERTIES('EXTERNAL'='TRUE');
    

    然后drop partition,数据会保留,只会删除table_2分区元数据:

    ALTER TABLE table_2 DROP PARTITION (col=val)
    

    table_1 分区数据将保持原样。

    【讨论】:

      猜你喜欢
      • 2013-03-19
      • 2013-04-06
      • 2011-10-29
      • 1970-01-01
      • 2021-04-01
      • 1970-01-01
      • 2015-11-12
      • 2012-04-28
      • 2017-01-30
      相关资源
      最近更新 更多