Dela via


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

Kommentar

Vi drar tillbaka Azure HDInsight på AKS den 31 januari 2025. Före den 31 januari 2025 måste du migrera dina arbetsbelastningar till Microsoft Fabric eller en motsvarande Azure-produkt för att undvika plötsliga uppsägningar av dina arbetsbelastningar. Återstående kluster i din prenumeration stoppas och tas bort från värden.

Endast grundläggande stöd kommer att vara tillgängligt fram till datumet för pensionering.

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
  • SLÅ IHOP

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 till lagringskontot med hjälp av Storage browser i Azure Portal 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