ALTER TABLE ... PARTITION
Van toepassing op: Databricks SQL Databricks Runtime
Hiermee worden partities van een tabel toegevoegd, verwijderd, hernoemd of hersteld.
Het beheren van partities wordt niet ondersteund voor Delta Lake-tabellen.
Syntaxis
ALTER TABLE table_name
{ ADD PARTITION clause |
DROP PARTITION clause |
PARTITION SET LOCATION clause |
RENAME PARTITION clause |
RECOVER PARTITIONS clause }
ADD PARTITION
clausule
Voegt een of meer partities toe aan de tabel.
Het beheren van partities wordt niet ondersteund voor Delta Lake-tabellen.
Syntaxis
ADD [IF NOT EXISTS] { PARTITION clause [ LOCATION path ] } [...]
Parameters
IF NOT EXISTS
Een optionele component waarmee Azure Databricks de instructie negeert als de partitie al bestaat.
-
Een toe te voegen partitie. De partitiesleutels moeten overeenkomen met de partitionering van de tabel en moeten worden gekoppeld aan waarden. Als de partitie al bestaat, wordt er een fout gegenereerd, tenzij
IF NOT EXISTS
is opgegeven. LOCATION path
path
moet een letterlijkeSTRING
zijn die een optionele locatie aangeeft die naar de partitie wijst.Als er geen locatie is opgegeven, wordt de locatie afgeleid van de locatie van de tabel en de partitiesleutels.
Als er bestanden aanwezig zijn op de locatie, vullen ze de partitie en moeten ze compatibel zijn met de
data_source
van de tabel en de bijbehorende opties.
DROP PARTITION
clausule
Hiermee worden een of meer partities uit de tabel verwijderd, waarbij eventueel bestanden op de locaties van de partities worden gewist.
Het beheren van partities wordt niet ondersteund voor Delta Lake-tabellen.
Syntaxis
DROP [ IF EXISTS ] PARTITION clause [, ...] [PURGE]
Parameters
IF EXISTS
Wanneer u Azure Databricks opgeeft
IF EXISTS
, wordt een poging om partities te verwijderen genegeerd die niet bestaan. Anders veroorzaken niet-bestaande partities een fout.-
Hiermee specificeert u een partitie die moet worden verwijderd. Als de partitie slechts gedeeltelijk wordt geïdentificeerd, wordt een segment partities verwijderd.
PURGE
Indien ingesteld, moet de tabelcatalogus partitiegegevens verwijderen door de prullenbak te overslaan, zelfs wanneer de catalogus er een heeft geconfigureerd. De optie is alleen van toepassing op beheerde tabellen. Het is alleen effectief wanneer:
Het bestandssysteem ondersteunt een prullenbak. De catalogus is geconfigureerd voor het verplaatsen van de verwijderde partitie naar de map Prullenbak. Er is geen prullenbakmap in AWS S3, dus het is niet effectief.
Het is niet nodig om bestanden handmatig te verwijderen na het verwijderen van partities.
RENAME PARTITION
clausule
Vervangt de sleutels van een partitie.
Het beheren van partities wordt niet ondersteund voor Delta Lake-tabellen.
Syntaxis
from_partition_clause RENAME TO to_partition_clause
Parameters
-
De definitie van de partitie waarvan de naam moet worden gewijzigd.
-
De nieuwe definitie voor deze partitie. Er mag nog geen partitie met dezelfde sleutels bestaan.
RECOVER PARTITIONS
clausule
Deze bepaling is niet van toepassing op Delta Lake-tabellen.
Geeft Azure Databricks opdracht om de locatie van de tabel te scannen en bestanden toe te voegen aan de tabel die rechtstreeks aan het bestandssysteem zijn toegevoegd.
Het beheren van partities wordt niet ondersteund voor Delta Lake-tabellen.
Syntaxis
RECOVER PARTITIONS
Parameters
Geen
PARTITION SET LOCATION-clausule
Hiermee verplaatst u de locatie van een partitie.
Het beheren van partities wordt niet ondersteund voor Delta Lake-tabellen.
Syntaxis
PARTITION clause SET LOCATION path
Parameters
-
Identificeert de partitie waarvoor de locatie moet worden gewijzigd.
LOCATION path
path
moet eenSTRING
letterlijke naam zijn. Specificeert de nieuwe locatie voor de partitie.Bestanden op de oorspronkelijke locatie worden niet verplaatst naar de nieuwe locatie.