Sdílet prostřednictvím


Čtení tabulek Delta Lake (Synapse nebo externí umístění)

Důležitý

Azure HDInsight v AKS byl vyřazen 31. ledna 2025. Zjistěte více pomocí tohoto oznámení.

Abyste se vyhnuli náhlému ukončení úloh, musíte migrovat úlohy do Microsoft Fabric nebo ekvivalentního produktu Azure.

Důležitý

Tato funkce je aktuálně ve verzi Preview. Doplňkové podmínky použití pro zkušební verze Microsoft Azure zahrnují další právní podmínky, které se vztahují na funkce Azure, jež jsou v beta verzi, ve verzi Preview nebo jinak zatím nejsou k dispozici v rámci obecné dostupnosti. Informace o této konkrétní verzi Preview zjistíte v Azure HDInsight na AKS Preview. Pokud máte dotazy nebo návrhy funkcí, odešlete prosím žádost o AskHDInsight s podrobnostmi a sledujte nás o dalších aktualizacích komunity 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.

  • VYMAZAT
  • AKTUALIZACE
  • VLOŽIT
  • SLOUČIT

Požadavky

Vytvoření schémat a tabulek Delta Lake

Tato část ukazuje, jak vytvořit tabulku Delta na předdefinovaném umístění, pokud již máte nakonfigurovaný katalog Delta Lake.

  1. Projděte si účet úložiště pomocí Storage browser na webu Azure Portal, kde je základní adresář vaší tabulky. Pokud tato tabulka pochází ze služby Synapse, pravděpodobně se nachází pod cestou synapse/workspaces/.../warehouse/, bude pojmenována dle vaší tabulky a bude obsahovat adresář _delta_log. Vyberte Copy 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 úložiště HTTP 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/

  2. 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/');
    
  3. Pomocí register_table 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/');
    
  4. Zadejte dotaz na tabulku a ověřte ji.

    SELECT * FROM delta.default.table_name
    

Zápis tabulek Delta Lake ve Službě Synapse Spark

Pomocí format("delta") uložte datový rámec jako tabulku Delta, a pak můžete použít cestu, kde jste uložili datový rámec ve formátu Delta, k zaregistrování tabulky v Trino.

my_dataframe.write.format("delta").save("abfss://container@storageaccount.dfs.core.windows.net/synapse/workspaces/workspace_name/warehouse/table_name")

Další kroky

Konfigurace ukládání do mezipaměti v Trino