Čtení tabulek Delta Lake (Synapse nebo externí umístění)
Důležité
Tato funkce je aktuálně dostupná jako ukázková verze. Doplňkové podmínky použití pro Microsoft Azure Preview obsahují další právní podmínky, které se vztahují na funkce Azure, které jsou v beta verzi, ve verzi Preview nebo ještě nejsou vydány v obecné dostupnosti. Informace o této konkrétní verzi Preview najdete v tématu Azure HDInsight o službě AKS ve verzi Preview. Pokud máte dotazy nebo návrhy funkcí, odešlete prosím žádost na AskHDInsight s podrobnostmi a sledujte nás o dalších aktualizacích v komunitě Azure HDInsight.
Tento článek obsahuje přehled, jak číst tabulku Delta Lake bez přístupu k metastoru (Synapse nebo jiné metastory bez veřejného přístupu).
U tabulek můžete provádět následující operace pomocí Trino s HDInsight v AKS.
- DELETE
- UPDATE
- INSERT
- SLOUČIT
Požadavky
- Nakonfigurujte katalog Delta Lake.
Vytvoření schémat a tabulek Delta Lake
Tato část ukazuje, jak vytvořit tabulku Delta nad již existujícím umístěním, protože už máte nakonfigurovaný katalog Delta Lake.
Projděte si účet úložiště pomocí
Storage browser
webu Azure Portal a vyhledejte základní adresář vaší tabulky. Pokud tato tabulka pochází ze synapse, bude pravděpodobně podsynapse/workspaces/.../warehouse/
cestou a bude pojmenována za vaší tabulkou a obsahuje_delta_log
adresář. VyberteCopy URL
ze tří tečk umístěných vedle složky.Tuto cestu HTTP je potřeba převést na cestu ABFS (Azure Blob File System):
Cesta HTTP úložiště je strukturovaná takto:
https://{{AZURE_STORAGE_ACCOUNT}}.blob.core.windows.net/{{AZURE_STORAGE_CONTAINER}}/synapse/workspaces/my_workspace/warehouse/{{TABLE_NAME}}/
Cesty ABFS musí vypadat takto:
abfss://{{AZURE_STORAGE_CONTAINER}}@{{AZURE_STORAGE_ACCOUNT}}.dfs.core.windows.net/synapse/workspaces/my_workspace/warehouse/{{TABLE_NAME}}/
Příklad:
abfss://container@storageaccount.dfs.core.windows.net/synapse/workspaces/workspace_name/warehouse/table_name/
Vytvořte schéma Delta Lake v trinu.
CREATE SCHEMA delta.default;
Případně můžete také vytvořit schéma v konkrétním účtu úložiště:
CREATE SCHEMA delta.default WITH (location = 'abfss://container@storageaccount.dfs.core.windows.net/trino/');
register_table
Pomocí postupu vytvořte tabulku.CALL delta.system.register_table(schema_name => 'default', table_name => 'table_name', table_location => 'abfss://container@storageaccount.dfs.core.windows.net/synapse/workspaces/workspace_name/warehouse/table_name/');
Zadejte dotaz na tabulku a ověřte ji.
SELECT * FROM delta.default.table_name
Zápis tabulek Delta Lake ve Službě Synapse Spark
Slouží format("delta")
k uložení datového rámce jako tabulky Delta a pak můžete použít cestu, kam jste datový rámec uložili jako rozdílový formát, a zaregistrovat tabulku v trinu.
my_dataframe.write.format("delta").save("abfss://container@storageaccount.dfs.core.windows.net/synapse/workspaces/workspace_name/warehouse/table_name")