

# ALTER TABLE DROP PARTITION
<a name="alter-table-drop-partition"></a>

名前付きテーブルの指定したパーティションを削除します。

## 概要
<a name="synopsis"></a>

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

## パラメータ
<a name="alter-table-drop-partition-parameters"></a>

**[IF EXISTS]**  
指定したパーティションが存在しない場合、エラーメッセージを抑制します。

**PARTITION (partition\$1spec)**  
各 `partition_spec` は、列名/値の組み合わせを `partition_col_name = partition_col_value [,...]` という形式で指定します。

## 例
<a name="alter-table-drop-partition-examples"></a>

```
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');
```

## 注意事項
<a name="alter-table-drop-partition-notes"></a>

`ALTER TABLE DROP PARTITION` ステートメントには、すべてのパーティションを一括に削除するための単一的な構文は存在しません。また、削除するパーティションの範囲を指定するための、フィルタリング条件もサポートされていません。

この点の回避策として、スクリプト内で、AWS Glue API の [GetPartitions](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-partitions.html#aws-glue-api-catalog-partitions-GetPartitions) および [BatchDeletePartition](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-partitions.html#aws-glue-api-catalog-partitions-BatchDeletePartition) アクションを使用できます。`GetPartitions` アクションでは、SQL の `WHERE` 式のような、複雑なフィルター表現がサポートされます。`GetPartitions` を使用して、削除対象のパーティションについてフィルタリングされたリストを作成した後は、`BatchDeletePartition` アクションにより、25 個までのパーティションをまとめて削除できます。