Sdílet prostřednictvím


Vytvoření a změna rozdílových externích tabulek ve službě Azure Storage

Platí pro: ✅Microsoft FabricAzure Data Explorer

Příkazy v tomto článku lze použít k vytvoření nebo změně rozdílové externí tabulky v databázi, ze které se příkaz spustí. Rozdílová externí tabulka odkazuje na data tabulky Delta Lake umístěná ve službě Azure Blob Storage, Azure Data Lake Store Gen1 nebo Azure Data Lake Store Gen2.

Poznámka:

Pokud tabulka existuje, .create příkaz selže s chybou. Použijte .create-or-alter nebo .alter upravte existující tabulky.

Pokud chcete zrychlit dotazy nad externími tabulkami delta, přečtěte si téma Zásady akcelerace dotazů.

Oprávnění

Pokud chcete .create vyžadovat aspoň oprávnění uživatele databáze a vyžaduje .alter alespoň oprávnění správce tabulky.

K .create-or-alter externí tabulce používající ověřování spravované identity se vyžadují oprávnění AllDatabasesAdmin .

Syntaxe

(.create | | .alter.create-or-alter) external table TableName [(Schema)] kind delta =(StorageConnectionString ) [with (Vlastnost [, ...]])

Přečtěte si další informace o konvencích syntaxe.

Parametry

Název Type Požadováno Popis
TableName string ✔️ Název externí tabulky, který dodržuje pravidla názvů entit. Externí tabulka nemůže mít stejný název jako běžná tabulka ve stejné databázi.
Schéma string Volitelné schéma externích dat je čárkami oddělený seznam jednoho nebo více názvů sloupců a datových typů, kde každá položka má formát: ColumnName : ColumnType. Pokud není zadaný, bude automaticky odvozen z rozdílového protokolu na základě nejnovější verze tabulky Delta.
StorageConnectionString string ✔️ cesta kořenové složky tabulky delta, včetně přihlašovacích údajů. Může odkazovat na kontejner objektů blob služby Azure Blob Storage, systém souborů Azure Data Lake Gen2 nebo kontejner Azure Data Lake Gen1. Typ úložiště externí tabulky je určen zadaným připojovací řetězec. Viz připojovací řetězec úložiště.
Vlastnost string Dvojice vlastností klíč-hodnota ve formátu PropertyName = PropertyValue. Viz volitelné vlastnosti.

Poznámka:

  • Pokud je k dispozici vlastní schéma, nebudou existující sloupce nebo sloupce s nekompatibilními typy vyplněny hodnotami null.
  • Informace o oddílech se automaticky odvozují z rozdílového protokolu. Sloupce oddílů se přidají jako virtuální sloupce do schématu tabulky. Další informace najdete v tématu Virtuální sloupce.
  • Formát cesty se automaticky odvodí z informací o dělení. Další informace naleznete v tématu Formát cesty

Tip

Pro vlastní schéma můžete použít modul plug-in infer_storage_schema k odvození schématu na základě obsahu externího souboru.

Ověřování a autorizace

Metoda ověřování pro přístup k externí tabulce je založená na připojovací řetězec poskytnuté během jejího vytváření a oprávnění potřebná pro přístup k tabulce se liší v závislosti na metodě ověřování.

Podporované metody ověřování jsou stejné jako podporované externími tabulkami Azure Storage.

Volitelné vlastnosti

Vlastnost Type Popis
folder string Složka tabulky
docString string Řetězec dokumentující tabulku
namePrefix string Pokud je tato sada nastavená, označuje předponu souborů. Při operacích zápisu budou všechny soubory zapsány s touto předponou. Při operacích čtení se čtou pouze soubory s touto předponou.
fileExtension string Pokud je tato sada nastavená, označuje přípony souborů. Při zápisu budou názvy souborů končit touto příponou. Při čtení se budou číst pouze soubory s touto příponou souboru.
encoding string Určuje, jak je text kódován: UTF8NoBOM (výchozí) nebo UTF8BOM.
dryRun bool Pokud je tato sada nastavená, definice externí tabulky se neuchová. Tato možnost je užitečná pro ověřování definice externí tabulky, zejména ve spojení s parametrem nebo parametrem filesPreview sampleUris .

Poznámka:

K externí rozdílové tabulce se přistupuje během vytváření, aby bylo možné odvodit informace o dělení a volitelně schéma. Ujistěte se, že je definice tabulky platná a že je úložiště přístupné.

Příklady

Vytvoření nebo změna rozdílové externí tabulky s odvozeným schématem

V následující externí tabulce se schéma automaticky odvodí z nejnovější verze tabulky Delta.

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

Vytvoření rozdílové externí tabulky s vlastním schématem

V následující externí tabulce je zadáno vlastní schéma a přepíše schéma tabulky delta. Pokud později potřebujete nahradit vlastní schéma schématem na základě nejnovější verze tabulky Delta, spusťte .alter | .create-or-alter příkaz bez zadání schématu, jako v předchozím příkladu.

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

Omezení

  • Časová cesta není podporována. Používá se pouze nejnovější verze tabulky Delta.