Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro: ✅Microsoft Fabric✅Azure 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 |
compressed |
bool |
Relevantní pouze pro scénář exportu. Pokud je nastavena hodnota true, data se exportují ve formátu určeném vlastností compressionType . U cesty ke čtení se komprese automaticky detekuje. |
compressionType |
string |
Relevantní pouze pro scénář exportu. Typ komprese exportovaných souborů. Pro jiné soubory než Parquet je povolena pouze gzip . U souborů Parquet mohou být hodnoty gzip , snappy , lz4_raw , brotli a zstd . Výchozí hodnota je gzip . U cesty ke čtení se typ komprese automaticky zjistí. |
namePrefix |
string |
Pokud je nastavená, urč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á, určuje příponu 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.