Skapa och ändra externa deltatabeller i Azure Storage
Kommandona i den här artikeln kan användas för att skapa eller ändra en extern deltatabell i databasen som kommandot körs från. En extern deltatabell refererar till Delta Lake-tabelldata som finns i Azure Blob Storage, Azure Data Lake Store Gen1 eller Azure Data Lake Store Gen2.
Anteckning
Om tabellen finns .create
misslyckas kommandot med ett fel. Använd .create-or-alter
eller .alter
för att ändra befintliga tabeller.
Behörigheter
För att .create
minst behöva behörigheter för databasanvändare och för att .alter
minst behöva behörigheter för tabell Admin.
För .create-or-alter
en extern tabell med hanterad identitetsautentisering krävs AllDatabasesAdmin-behörigheter .
Syntax
(.create
.alter
| | .create-or-alter
) external
table
TableName [(
Schema)
] kind
(
=
delta
StorageConnectionString)
[with
(
Egenskap [,
...])
]
Läs mer om syntaxkonventioner.
Parametrar
Namn | Typ | Obligatorisk | Beskrivning |
---|---|---|---|
TableName | string |
✔️ | Ett externt tabellnamn som följer reglerna för entitetsnamn . En extern tabell kan inte ha samma namn som en vanlig tabell i samma databas. |
Schema | string |
Det valfria externa dataschemat är en kommaavgränsad lista med ett eller flera kolumnnamn och datatyper, där varje objekt följer formatet: ColumnName: ColumnType. Om det inte anges härleds det automatiskt från deltaloggen baserat på den senaste deltatabellversionen. |
|
StorageConnectionString | string |
✔️ | rotmappsökväg för deltatabellen, inklusive autentiseringsuppgifter. Kan peka på Azure Blob Storage blobcontainer, Azure Data Lake Gen 2-filsystem eller Azure Data Lake Gen 1-container. Den externa tabelllagringstypen bestäms av den angivna anslutningssträng. Se anslutningssträngar för lagring. |
Egenskap | string |
Ett nyckelvärdesegenskapspar i formatet PropertyName= PropertyValue. Se valfria egenskaper. |
Anteckning
- Om ett anpassat schema tillhandahålls fylls icke-befintliga kolumner eller kolumner med inkompatibla typer med null-värden.
- Information om partitioner härleds automatiskt från deltaloggen. Partitionskolumner läggs till som virtuella kolumner i tabellschemat. Mer information finns i Virtuella kolumner.
- Sökvägsformatet härleds automatiskt från partitioneringsinformationen. Mer information finns i Sökvägsformat
Tips
För ett anpassat schema kan du använda plugin-programmet infer_storage_schema för att härleda schemat baserat på det externa filinnehållet.
Autentisering och auktorisering
Autentiseringsmetoden för åtkomst till en extern tabell baseras på de anslutningssträng som angavs när den skapades, och de behörigheter som krävs för att komma åt tabellen varierar beroende på autentiseringsmetoden.
De autentiseringsmetoder som stöds är desamma som de som stöds av externa Azure Storage-tabeller.
Valfria egenskaper
Egenskap | Typ | Description |
---|---|---|
folder |
string |
Tabellens mapp |
docString |
string |
Sträng som dokumenterar tabellen |
namePrefix |
string |
Om det anges anger du prefixet för filerna. Vid skrivåtgärder skrivs alla filer med det här prefixet. Vid läsåtgärder skrivs endast filer med det här prefixet. |
fileExtension |
string |
Om det anges anger filnamnstillägg för filerna. Vid skrivning slutar filnamnen med det här suffixet. Vid läsning kommer endast filer med det här filtillägget att läsas. |
encoding |
string |
Anger hur texten är kodad: UTF8NoBOM (standard) eller UTF8BOM . |
dryRun |
bool |
Om den anges sparas inte den externa tabelldefinitionen. Det här alternativet är användbart för att verifiera den externa tabelldefinitionen, särskilt tillsammans med parametern filesPreview eller sampleUris . |
Anteckning
Den externa deltatabellen används när du skapar den, för att härleda partitioneringsinformationen och, om du vill, schemat. Kontrollera att tabelldefinitionen är giltig och att lagringen är tillgänglig.
Exempel
Skapa eller ändra en extern deltatabell med ett härledt schema
I följande externa tabell härleds schemat automatiskt från den senaste deltatabellversionen.
.create-or-alter external table ExternalTable
kind=delta
(
h@'https://storageaccount.blob.core.windows.net/container1;secretKey'
)
Skapa en extern deltatabell med ett anpassat schema
I följande externa tabell anges ett anpassat schema och åsidosätter schemat för deltatabellen. Om du någon gång senare behöver ersätta det anpassade schemat med schemat baserat på den senaste deltatabellversionen kör .alter
| .create-or-alter
du kommandot utan att ange något schema, som i föregående exempel.
.create external table ExternalTable (Timestamp:datetime, x:long, s:string)
kind=delta
(
h@'abfss://filesystem@storageaccount.dfs.core.windows.net/path;secretKey'
)
Begränsningar
- Tidsresor stöds inte. Endast den senaste deltatabellversionen används.
Relaterat innehåll
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för