Skapa och ändra externa deltatabeller i Azure Storage
Gäller för: ✅Microsoft Fabric✅Azure Data Explorer
Kommandona i den här artikeln kan användas för att skapa eller ändra en delta-extern tabell 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.
Not
Om tabellen finns misslyckas kommandot .create
med ett fel. Använd .create-or-alter
eller .alter
för att ändra befintliga tabeller.
Information om hur du påskyndar frågor över externa deltatabeller finns i Policy för frågeacceleration.
Behörigheter
För att .create
krävs minst behörigheter för databasanvändare och för att .alter
krävs minst behörigheter för tabelladministratör.
För att .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
(
Property [,
...])
]
Läs mer om syntaxkonventioner.
Parametrar
Namn | Typ | Krävs | Beskrivning |
---|---|---|---|
TableName | string |
✔️ | Ett externt tabellnamn som följer entitetsnamn regler. 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 den inte anges härleds den automatiskt från deltaloggen baserat på den senaste deltatabellversionen. |
|
StorageConnectionString | string |
✔️ | rotmappsökväg för deltatabell, 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ängen. Se anslutningssträngar för lagring. |
egenskap | string |
Ett nyckel/värde-egenskapspar i formatet PropertyName= PropertyValue. Se valfria egenskaper. |
Not
- 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
Dricks
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å anslutningssträngen 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 | Beskrivning |
---|---|---|
folder |
string |
Tabellens mapp |
docString |
string |
Sträng som dokumenterar tabellen |
compressed |
bool |
Endast relevant för exportscenariot. Om värdet är true exporteras data i det format som anges av egenskapen compressionType . För lässökvägen identifieras komprimering automatiskt. |
compressionType |
string |
Endast relevant för exportscenariot. Komprimeringstypen för exporterade filer. För icke-Parquet-filer tillåts endast gzip . För Parquet-filer inkluderar möjliga värden gzip , snappy , lz4_raw , brotli och zstd . Standardvärdet är gzip . För lässökvägen identifieras komprimeringstypen automatiskt. |
namePrefix |
string |
Om värdet 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 du filnamnstillägget. 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 kodas: 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 . |
Not
Den externa deltatabellen nås när du skapar den, för att härleda partitioneringsinformationen och eventuellt 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 du kommandot .alter
| .create-or-alter
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.