ALTER TABLE DROP PARTITION - Amazon Athena
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

ALTER TABLE DROP PARTITION

为命名的表删除一个或多个指定的分区。

摘要

ALTER TABLE table_name DROP [IF EXISTS] PARTITION (partition_spec) [, PARTITION (partition_spec)]

参数

[IF EXISTS]

如果指定的分区不存在,则会隐藏错误消息。

PARTITION (partition_spec)

每个 partition_spec 以形式 partition_col_name = partition_col_value [,...] 指定列名称/值组合。

示例

ALTER TABLE orders DROP PARTITION (dt = '2014-05-14', country = 'IN');
ALTER TABLE orders DROP PARTITION (dt = '2014-05-14', country = 'IN'), PARTITION (dt = '2014-05-15', country = 'IN');

备注

ALTER TABLE DROP PARTITION 语句不提供一次性删除所有分区的单一语法,也不支持用于指定要删除的分区范围的筛选条件。

作为解决方法,您可以在脚本中使用 Amazon Glue API GetPartitionsBatchDeletePartition 操作。GetPartitions 操作支持复杂的筛选条件表达式,就像 SQL WHERE 表达式中的筛选条件表达式一样。使用 GetPartitions 创建要删除的分区的筛选列表后,您可以使用 BatchDeletePartition 操作批量删除 25 个分区。