Delen via


Externe deltatabellen maken en wijzigen in Azure Storage

Van toepassing op: ✅Microsoft FabricAzure Data Explorer-

De opdrachten in dit artikel kunnen worden gebruikt om een delta-externe tabel te maken of te wijzigen in de database waaruit de opdracht wordt uitgevoerd. Een externe deltatabel verwijst naar Delta Lake-tabelgegevens die zich bevinden in Azure Blob Storage, Azure Data Lake Store Gen1 of Azure Data Lake Store Gen2.

Notitie

Als de tabel bestaat, mislukt de opdracht .create met een fout. Gebruik .create-or-alter of .alter om bestaande tabellen te wijzigen.

Zie Queryversnellingsbeleidom query's via externe deltatabellen te versnellen.

Machtigingen

Als u .create ten minste machtigingen voor databasegebruiker nodig hebt en .alter ten minste machtigingen voor tabelbeheerder vereist.

Als u een externe tabel wilt .create-or-alter met behulp van verificatie voor beheerde identiteiten, zijn machtigingen voor AllDatabasesAdmin vereist.

Syntaxis

(.create | .alter | .create-or-alter) externaltableTableName [(Schema)] kind=delta(StorageConnectionString) [with(Eigenschap [, ...])]

Meer informatie over syntaxisconventies.

Parameters

Naam Type Vereist Beschrijving
TableName- string ✔️ Een externe tabelnaam die voldoet aan de namen van de entiteiten regels. Een externe tabel kan niet dezelfde naam hebben als een gewone tabel in dezelfde database.
schema string Het optionele externe gegevensschema is een door komma's gescheiden lijst met een of meer kolomnamen en gegevenstypen, waarbij elk item de indeling volgt: ColumnName:ColumnType. Als dit niet is opgegeven, wordt deze automatisch afgeleid uit het deltalogboek op basis van de meest recente deltatabelversie.
StorageConnectionString- string ✔️ hoofdmappad van deltatabel, inclusief referenties. Kan verwijzen naar Azure Blob Storage-blobcontainer, Azure Data Lake Gen 2-bestandssysteem of Azure Data Lake Gen 1-container. Het type externe tabelopslag wordt bepaald door de opgegeven verbindingsreeks. Zie opslagverbindingsreeksen.
eigenschap string Een sleutel-waarde-eigenschapspaar in de notatie PropertyName=PropertyValue. Zie optionele eigenschappen.

Notitie

  • Als er een aangepast schema wordt opgegeven, worden niet-bestaande kolommen of kolommen met niet-compatibele typen gevuld met null-waarden.
  • Informatie over partities wordt automatisch afgeleid uit het deltalogboek. Partitiekolommen worden toegevoegd als virtuele kolommen aan het tabelschema. Zie Virtuele kolommenvoor meer informatie.
  • De padindeling wordt automatisch afgeleid van de partitioneringsgegevens. Zie Padindeling voor meer informatie

Fooi

Voor een aangepast schema kunt u de infer_storage_schema-invoegtoepassing gebruiken om het schema af te leiden op basis van de inhoud van het externe bestand.

Verificatie en autorisatie

De verificatiemethode voor toegang tot een externe tabel is gebaseerd op de verbindingsreeks die is opgegeven tijdens het maken en de vereiste machtigingen voor toegang tot de tabel variëren, afhankelijk van de verificatiemethode.

De ondersteunde verificatiemethoden zijn hetzelfde als die worden ondersteund door externe Azure Storage-tabellen.

Optionele eigenschappen

Eigenschap Type Beschrijving
folder string De map van de tabel
docString string Tekenreeks die de tabel documenteert
compressed bool Alleen relevant voor het exportscenario.
Als deze optie is ingesteld op waar, worden de gegevens geëxporteerd in de indeling die is opgegeven door de eigenschap compressionType. Voor het leespad wordt compressie automatisch gedetecteerd.
compressionType string Alleen relevant voor het exportscenario.
Het compressietype van geëxporteerde bestanden. Voor niet-Parquet-bestanden is alleen gzip toegestaan. Voor Parquet-bestanden zijn mogelijke waarden gzip, snappy, lz4_raw, brotlien zstd. De standaardwaarde is gzip. Voor het leespad wordt het compressietype automatisch gedetecteerd.
namePrefix string Als deze optie is ingesteld, geeft u het voorvoegsel van de bestanden op. Bij schrijfbewerkingen worden alle bestanden met dit voorvoegsel geschreven. Bij leesbewerkingen worden alleen bestanden met dit voorvoegsel gelezen.
fileExtension string Als deze optie is ingesteld, geeft u de extensie van de bestanden op. Bij schrijven eindigen bestandsnamen met dit achtervoegsel. Bij lezen worden alleen bestanden met deze bestandsextensie gelezen.
encoding string Hiermee geeft u op hoe de tekst wordt gecodeerd: UTF8NoBOM (standaard) of UTF8BOM.
dryRun bool Als deze optie is ingesteld, blijft de definitie van de externe tabel niet behouden. Deze optie is handig voor het valideren van de definitie van de externe tabel, met name in combinatie met de parameter filesPreview of sampleUris.

Notitie

De externe deltatabel wordt geopend tijdens het maken, om de partitioneringsgegevens af te leiden en, optioneel, het schema. Zorg ervoor dat de tabeldefinitie geldig is en of de opslag toegankelijk is.

Voorbeelden

Een externe deltatabel maken of wijzigen met een afgeleid schema

In de volgende externe tabel wordt het schema automatisch afgeleid van de nieuwste deltatabelversie.

.create-or-alter external table ExternalTable  
kind=delta 
( 
   h@'https://storageaccount.blob.core.windows.net/container1;secretKey'
) 

Een externe deltatabel maken met een aangepast schema

In de volgende externe tabel wordt een aangepast schema opgegeven en wordt het schema van de deltatabel overschreven. Als u het aangepaste schema op een later tijdstip moet vervangen door het schema op basis van de meest recente deltatabelversie, voert u de opdracht .alter | .create-or-alter uit zonder een schema op te geven, zoals in het vorige voorbeeld.

.create external table ExternalTable (Timestamp:datetime, x:long, s:string) 
kind=delta
( 
   h@'abfss://filesystem@storageaccount.dfs.core.windows.net/path;secretKey'
)

Beperkingen

  • Tijdreizen worden niet ondersteund. Alleen de meest recente deltatabelversie wordt gebruikt.