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