Amazon Athena
ユーザーガイド

ALTER TABLE ADD PARTITION

テーブルのパーティション列を 1 つ以上作成します。各パーティションは、1 つ以上の異なる列名/値の組み合わせで構成されます。指定した組み合わせごとに別個のデータディレクトリが作成されます。これにより、クエリパフォーマンスが向上する場合があります。パーティション分割された列は、テーブルのデータ自体内には存在しないため、テーブル内の列自体と同じ名前を使用すると、エラーになります。詳細については、「データのパーティション分割」を参照してください。

概要

ALTER TABLE table_name ADD [IF NOT EXISTS] PARTITION (partition_col1_name = partition_col1_value [,partition_col2_name = partition_col2_value] [,...]) [LOCATION 'location1'] [PARTITION (partition_colA_name = partition_colA_value [,partition_colB_name = partition_colB_value [,...])] [LOCATION 'location2'] [,...]

パラメータ

[IF NOT EXISTS]

同じ定義のパーティションが既に存在する場合、エラーを抑制します。

PARTITION (partition_col_name = partition_col_value [,...])

指定した列名/値の組み合わせでパーティションを作成します。列のデータ型が文字列である場合に限り、partition_col_value を文字列の文字で囲みます。

[LOCATION 'location']

前のステートメントで定義したパーティションの保存先のディレクトリを指定します。

ALTER TABLE orders ADD PARTITION (dt = '2016-05-14', country = 'IN');
ALTER TABLE orders ADD PARTITION (dt = '2016-05-14', country = 'IN') PARTITION (dt = '2016-05-15', country = 'IN');
ALTER TABLE orders ADD PARTITION (dt = '2016-05-14', country = 'IN') LOCATION 's3://mystorage/path/to/INDIA_14_May_2016' PARTITION (dt = '2016-05-15', country = 'IN') LOCATION 's3://mystorage/path/to/INDIA_15_May_2016';

このページの内容: