Delta Lake-tabellen lezen (Synapse of externe locatie)
Notitie
Op 31 januari 2025 wordt Azure HDInsight buiten gebruik gesteld op AKS. Vóór 31 januari 2025 moet u uw workloads migreren naar Microsoft Fabric of een gelijkwaardig Azure-product om te voorkomen dat uw workloads plotseling worden beëindigd. De resterende clusters in uw abonnement worden gestopt en verwijderd van de host.
Alleen basisondersteuning is beschikbaar tot de buitengebruikstellingsdatum.
Belangrijk
Deze functie is momenteel beschikbaar in preview. De aanvullende gebruiksvoorwaarden voor Microsoft Azure Previews bevatten meer juridische voorwaarden die van toepassing zijn op Azure-functies die bèta, in preview of anderszins nog niet beschikbaar zijn in algemene beschikbaarheid. Zie Azure HDInsight op AKS Preview-informatie voor meer informatie over deze specifieke preview. Voor vragen of suggesties voor functies dient u een aanvraag in op AskHDInsight met de details en volgt u ons voor meer updates in de Azure HDInsight-community.
Dit artikel bevat een overzicht van het lezen van een Delta Lake-tabel zonder toegang tot de metastore (Synapse of andere metastores zonder openbare toegang).
U kunt de volgende bewerkingen uitvoeren in de tabellen met trino met HDInsight in AKS.
- DELETE
- UPDATE
- INSERT
- SAMENVOEGEN
Vereisten
Delta Lake-schema's en -tabellen maken
In deze sectie ziet u hoe u een Delta-tabel maakt op een vooraf bestaande locatie, aangezien u al een Delta Lake-catalogus hebt geconfigureerd.
Blader door het opslagaccount met behulp van azure
Storage browser
Portal naar de locatie van de basismap van uw tabel. Als deze tabel afkomstig is uit Synapse, bevindt deze zich waarschijnlijk onder eensynapse/workspaces/.../warehouse/
pad en krijgt deze een naam achter de tabel en bevat deze een_delta_log
map. SelecteerCopy URL
een van de drie puntjes naast de map.U moet dit HTTP-pad converteren naar een ABFS-pad (Azure Blob File System):
Het HTTP-pad voor opslag is als volgt gestructureerd:
https://{{AZURE_STORAGE_ACCOUNT}}.blob.core.windows.net/{{AZURE_STORAGE_CONTAINER}}/synapse/workspaces/my_workspace/warehouse/{{TABLE_NAME}}/
ABFS-paden moeten er als volgt uitzien:
abfss://{{AZURE_STORAGE_CONTAINER}}@{{AZURE_STORAGE_ACCOUNT}}.dfs.core.windows.net/synapse/workspaces/my_workspace/warehouse/{{TABLE_NAME}}/
Voorbeeld:
abfss://container@storageaccount.dfs.core.windows.net/synapse/workspaces/workspace_name/warehouse/table_name/
Maak een Delta Lake-schema in Trino.
CREATE SCHEMA delta.default;
U kunt ook een schema maken in een specifiek opslagaccount:
CREATE SCHEMA delta.default WITH (location = 'abfss://container@storageaccount.dfs.core.windows.net/trino/');
Gebruik de
register_table
procedure om de tabel te maken.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/');
Voer een query uit op de tabel om te verifiëren.
SELECT * FROM delta.default.table_name
Delta Lake-tabellen schrijven in Synapse Spark
Als format("delta")
u een dataframe wilt opslaan als een Delta-tabel, kunt u het pad gebruiken waarin u het dataframe hebt opgeslagen als delta-indeling om de tabel in Trino te registreren.
my_dataframe.write.format("delta").save("abfss://container@storageaccount.dfs.core.windows.net/synapse/workspaces/workspace_name/warehouse/table_name")