Dela via


Skapa och ändra externa deltatabeller i Azure Storage

Gäller för: ✅Microsoft FabricAzure 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) externaltableTableName [(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, brotlioch 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.