Dela via


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

Viktig

Azure HDInsight på AKS drogs tillbaka den 31 januari 2025. Få mer information i det här tillkännagivandet.

Du måste migrera dina arbetsbelastningar till Microsoft Fabric- eller en motsvarande Azure-produkt för att undvika plötsliga uppsägningar av dina arbetsbelastningar.

Viktig

Den här funktionen är för närvarande i förhandsversion. 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 släppts i allmän tillgänglighet. Information om den här specifika förhandsversionen finns i Azure HDInsight på AKS-förhandsversionsinformation. För frågor eller funktionsförslag, skicka en begäran på AskHDInsight med detaljerna och följ oss för fler uppdateringar om 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 Trino i kombination med HDInsight på AKS.

  • TA BORT
  • UPPDATERA
  • INFOGA
  • 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 bland lagringskontot med hjälp av Storage browser i Azure-portalen till den plats där baskatalogen för tabellen finns. Om den här tabellen kommer från Synapse är den troligen under en synapse/workspaces/.../warehouse/ sökväg och kommer att namnges efter tabellen och innehåller en _delta_log katalog. Välj Copy URL från 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. Kontrollera tabellen för verifiering.

    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

Konfigurera cachelagring i Trino