ALTER TABLE PARTITION
Gilt für: Databricks SQL Databricks Runtime
Fügt einer Tabelle Partitionen hinzu, trennt sie, benennt sie um oder stellt sie wieder her.
Das Verwalten von Partitionen wird für Delta Lake-Tabellen nicht unterstützt.
Syntax
ALTER TABLE table_name
{ ADD PARTITION clause |
DROP PARTITION clause |
PARTITION SET LOCATION clause |
RENAME PARTITION clause |
RECOVER PARTITIONS clause }
ADD PARTITION
-Klausel
Fügt der Tabelle eine oder mehrere Partitionen hinzu.
Syntax
ADD [IF NOT EXISTS] { PARTITION clause [ LOCATION path ] } [...]
Parameter
IF NOT EXISTS
Eine optionale Klausel, die Azure Databricks anweist, die Anweisung zu ignorieren, wenn die Partition bereits vorhanden ist.
-
Eine Partition, die hinzugefügt werden soll. Die Partitionsschlüssel müssen mit der Partitionierung der Tabelle übereinstimmen und Werten zugeordnet sein. Wenn die Partition bereits vorhanden ist, wird ein Fehler ausgelöst, sofern nicht
IF NOT EXISTS
angegeben wurde. LOCATION path
path
muss einSTRING
-Literal sein, das einen optionalen Speicherort darstellt, der auf die Partition verweist.Wird kein Speicherort angegeben, wird der Speicherort vom Speicherort der Tabelle und den Partitionsschlüsseln abgeleitet.
Wenn am Speicherort Dateien vorhanden sind, füllen sie die Partition und müssen mit der Datenquelle (
data_source
) der Tabelle und den zugehörigen Optionen kompatibel sein.
DROP PARTITION
-Klausel
Löscht eine oder mehrere Partitionen aus der Tabelle und optional alle Dateien an den Speicherorten der Partitionen.
Syntax
DROP [ IF EXISTS ] PARTITION clause [, ...] [PURGE]
Parameter
IF EXISTS
Wenn Sie
IF EXISTS
angeben, ignoriert Azure Databricks einen Versuch, Partitionen zu löschen, die nicht vorhanden sind. Andernfalls verursachen nicht vorhandene Partitionen einen Fehler.-
Gibt eine Partition an, die gelöscht werden soll. Wenn nur ein Teil einer Partition angegeben wird, wird ein Segment der Partitionen gelöscht.
PURGE
Falls festgelegt, muss der Tabellenkatalog Partitionsdaten entfernen und dabei den Papierkorbordner überspringen, auch wenn für den Katalog ein Papierkorbordner konfiguriert ist. Die Option gilt nur für verwaltete Tabellen. Sie ist nur wirksam, wenn folgende Voraussetzungen erfüllt sind:
Das Dateisystem unterstützt einen Papierkorbordner. Der Katalog wurde so konfiguriert, dass gelöschte Partitionen in den Papierkorbordner verschoben werden. Es gibt keinen Papierkorbordner in AWS S3, sodass er nicht wirksam ist.
Es ist nicht erforderlich, Dateien nach dem Löschen von Partitionen manuell zu löschen.
RENAME PARTITION
-Klausel
Ersetzt die Schlüssel einer Partition.
Syntax
from_partition_clause RENAME TO to_partition_clause
Parameter
-
Die Definition der Partition, die umbenannt werden soll.
-
Die neue Definition für diese Partition. Eine Partition mit denselben Schlüsseln darf nicht bereits vorhanden sein.
RECOVER PARTITIONS
-Klausel
Diese Klausel gilt nicht für Delta Lake-Tabellen.
Weist Azure Databricks an, den Speicherort der Tabelle zu überprüfen und der Tabelle alle Dateien hinzuzufügen, die dem Dateisystem direkt hinzugefügt wurden.
Syntax
RECOVER PARTITIONS
Parameter
Keine
PARTITION SET LOCATION-Klausel
Verschiebt den Ort einer Partition.
Syntax
PARTITION clause SET LOCATION path
Parameter
-
Gibt die Partition an, für die der Speicherort geändert werden soll.
LOCATION path
path
muss einSTRING
-Literal sein. Gibt den neuen Speicherort für die Partition an.Dateien am ursprünglichen Speicherort werden nicht an den neuen Speicherort verschoben.
Beispiele
Siehe ALTER TABLE-Beispiele.