Läs Delta Lake-tabeller (Synapse eller extern plats)

Viktigt!

Den här funktionen finns i förhandsgranskning. De kompletterande användningsvillkoren för Förhandsversioner av Microsoft Azure innehåller fler juridiska villkor som gäller för Azure-funktioner som är i betaversion, förhandsversion eller på annat sätt ännu inte har släppts i allmän tillgänglighet. Information om den här specifika förhandsversionen finns i Azure HDInsight på AKS-förhandsversionsinformation. Om du vill ha frågor eller funktionsförslag skickar du en begäran på AskHDInsight med informationen och följer oss för fler uppdateringar i Azure HDInsight Community.

Den här artikeln innehåller en översikt över hur du läser en Delta Lake-tabell utan att ha någon åtkomst till metaarkivet (Synapse eller andra metaarkiv utan offentlig åtkomst).

Du kan utföra följande åtgärder på tabellerna med Hjälp av Trino med HDInsight på AKS.

  • DELETE
  • UPDATE
  • INSERT
  • SAMMANFOGA

Förutsättningar

Skapa Delta Lake-scheman och tabeller

Det här avsnittet visar hur du skapar en Delta-tabell över en befintlig plats eftersom du redan har konfigurerat en Delta Lake-katalog.

  1. Bläddra bland lagringskontot med hjälp av Storage browser i Azure-portalen till den plats där baskatalogen i tabellen finns. Om den här tabellen kommer från Synapse är den troligen under en synapse/workspaces/.../warehouse/ sökväg och namnges efter tabellen och innehåller en _delta_log katalog. Välj Copy URL mellan de tre punkterna bredvid mappen.

    Du måste konvertera den här http-sökvägen till en ABFS-sökväg (Azure Blob File System):

    Http-sökvägen för lagring är strukturerad så här: https://{{AZURE_STORAGE_ACCOUNT}}.blob.core.windows.net/{{AZURE_STORAGE_CONTAINER}}/synapse/workspaces/my_workspace/warehouse/{{TABLE_NAME}}/

    ABFS-sökvägar måste se ut så här: abfss://{{AZURE_STORAGE_CONTAINER}}@{{AZURE_STORAGE_ACCOUNT}}.dfs.core.windows.net/synapse/workspaces/my_workspace/warehouse/{{TABLE_NAME}}/

    Exempel: abfss://container@storageaccount.dfs.core.windows.net/synapse/workspaces/workspace_name/warehouse/table_name/

  2. Skapa ett Delta Lake-schema i Trino.

    CREATE SCHEMA delta.default;
    

    Du kan också skapa ett schema i ett specifikt lagringskonto:

    CREATE SCHEMA delta.default WITH (location = 'abfss://container@storageaccount.dfs.core.windows.net/trino/');
    
  3. Använd proceduren register_table för att skapa tabellen.

    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. Fråga tabellen för att verifiera.

    SELECT * FROM delta.default.table_name
    

Skriva Delta Lake-tabeller i Synapse Spark

Använd format("delta") för att spara en dataram som en Delta-tabell. Sedan kan du använda sökvägen där du sparade dataramen som deltaformat för att registrera tabellen i Trino.

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

Nästa steg

Så här konfigurerar du cachelagring i Trino