ALTER TABLE PARTITION
適用対象: Databricks SQL Databricks Runtime
テーブルのパーティションを追加、削除、名前変更、または復旧します。
Delta Lake テーブルでは、パーティションの管理はサポートされていません。
構文
ALTER TABLE table_name
{ ADD PARTITION clause |
DROP PARTITION clause |
PARTITION SET LOCATION clause |
RENAME PARTITION clause |
RECOVER PARTITIONS clause }
ADD PARTITION
clause
テーブルに 1 つまたは複数のパーティションが追加されます。
構文
ADD [IF NOT EXISTS] { PARTITION clause [ LOCATION path ] } [...]
パラメーター
IF NOT EXISTS
パーティションが既に存在する場合に、ステートメントを無視するように Azure Databricks に指示する省略可能な句。
-
追加するパーティション。 パーティション キーは、テーブルのパーティション分割と一致し、値に関連付けられている必要があります。 パーティションが既に存在する場合は、
IF NOT EXISTS
が指定されていない限り、エラーが発生します。 LOCATION path
path
は、パーティションを指すオプションの場所を表すSTRING
リテラルである必要があります。場所が指定されていない場合、場所はテーブルの場所とパーティション キーから派生します。
その場所にファイルが存在する場合は、パーティションを設定し、テーブルとそのオプションの
data_source
と互換性がある必要があります。
DROP PARTITION
clause
テーブルから 1 つまたは複数のパーティションが削除されます。必要に応じて、パーティションの場所にあるファイルも削除されます。
構文
DROP [ IF EXISTS ] PARTITION clause [, ...] [PURGE]
パラメーター
IF EXISTS
IF EXISTS
を指定すると、Azure Databricks では存在しないパーティションを削除しようとしても無視されます。 それ以外の場合、存在しないパーティションによってエラーが発生します。-
削除するパーティションを指定します。 パーティションが部分的に識別される場合は、パーティションのスライスが削除されます。
PURGE
設定すると、カタログで構成されている場合でも、テーブル カタログは、ごみ箱フォルダーをスキップしてパーティション データを削除する必要があります。 このオプションは、管理対象テーブルにのみ適用できます。 次の場合にのみ有効です。
ファイル システムはごみ箱フォルダーをサポートしています。 カタログは、削除されたパーティションをごみ箱フォルダーに移動するように構成されています。 AWS S3 にはごみ箱フォルダーがないため、有効ではありません。
パーティションを削除した後、手動でファイルを削除する必要はありません。
RENAME PARTITION
clause
パーティションのキーを置き換えます。
構文
from_partition_clause RENAME TO to_partition_clause
パラメーター
-
名前を変更するパーティションの定義。
-
このパーティションの新しい定義。 同じキーを持つパーティションは、既に存在していてはなりません。
RECOVER PARTITIONS
clause
この句は、Delta Lake テーブルには適用されません。
テーブルの場所をスキャンし、ファイルシステムに直接追加されたテーブルにファイルを追加するように Azure Databricks に指示します。
構文
RECOVER PARTITIONS
パラメーター
なし
PARTITION SET LOCATION 句
パーティションの場所を移動します。
構文
PARTITION clause SET LOCATION path
パラメーター
-
場所を変更するパーティションを識別します。
LOCATION path
path
は、STRING
リテラルを指定する必要があります。 パーティションの新しい場所を指定します。元の場所にあるファイルは、新しい場所に移動されません。
例
「ALTER TABLE」の「例」を参照してください。