Č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

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.

  1. 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ě pod synapse/workspaces/.../warehouse/ cestou a bude pojmenována za vaší tabulkou a obsahuje _delta_log adresář. 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 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/

  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. 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/');
    
  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

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")

Další kroky

Jak nakonfigurovat ukládání do mezipaměti v Trino