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.
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 ensynapse/workspaces/.../warehouse/
sökväg och namnges efter tabellen och innehåller en_delta_log
katalog. VäljCopy 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/
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/');
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/');
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")