Leggere le tabelle Delta Lake (Synapse o posizione esterna)
Importante
Questa funzionalità è attualmente disponibile solo in anteprima. Le condizioni per l'utilizzo supplementari per le anteprime di Microsoft Azure includono termini legali più validi applicabili alle funzionalità di Azure disponibili in versione beta, in anteprima o non ancora rilasciate nella disponibilità generale. Per informazioni su questa anteprima specifica, vedere Informazioni sull'anteprima di Azure HDInsight nel servizio Azure Kubernetes. Per domande o suggerimenti sulle funzionalità, inviare una richiesta in AskHDInsight con i dettagli e seguire microsoft per altri aggiornamenti nella community di Azure HDInsight.
Questo articolo offre una panoramica di come leggere una tabella Delta Lake senza avere accesso al metastore (Synapse o altri metastore senza accesso pubblico).
È possibile eseguire le operazioni seguenti sulle tabelle usando Trino con HDInsight nel servizio Azure Kubernetes.
- DELETE
- UPDATE
- INSERT
- MERGE
Prerequisiti
- Configurare il catalogo Delta Lake.
Creare schemi e tabelle Delta Lake
In questa sezione viene illustrato come creare una tabella Delta in una posizione preesistente, dato che è già stato configurato un catalogo Delta Lake.
Esplorare l'account di archiviazione usando
Storage browser
nella portale di Azure in cui si trova la directory di base della tabella. Se la tabella ha origine in Synapse, è probabile che si tratti di unsynapse/workspaces/.../warehouse/
percorso e che sia denominata dopo la tabella e contenga una_delta_log
directory. SelezionareCopy URL
tra i tre puntini che si trovano accanto alla cartella.È necessario convertire questo percorso HTTP in un percorso ABFS (Azure Blob File System):
Il percorso HTTP di archiviazione è strutturato come segue:
https://{{AZURE_STORAGE_ACCOUNT}}.blob.core.windows.net/{{AZURE_STORAGE_CONTAINER}}/synapse/workspaces/my_workspace/warehouse/{{TABLE_NAME}}/
I percorsi ABFS devono avere un aspetto simile al seguente:
abfss://{{AZURE_STORAGE_CONTAINER}}@{{AZURE_STORAGE_ACCOUNT}}.dfs.core.windows.net/synapse/workspaces/my_workspace/warehouse/{{TABLE_NAME}}/
Esempio:
abfss://container@storageaccount.dfs.core.windows.net/synapse/workspaces/workspace_name/warehouse/table_name/
Creare uno schema Delta Lake in Trino.
CREATE SCHEMA delta.default;
In alternativa, è anche possibile creare uno schema in un account di archiviazione specifico:
CREATE SCHEMA delta.default WITH (location = 'abfss://container@storageaccount.dfs.core.windows.net/trino/');
Utilizzare la
register_table
procedura per creare la tabella.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/');
Eseguire una query sulla tabella per verificare.
SELECT * FROM delta.default.table_name
Scrivere tabelle Delta Lake in Synapse Spark
Usare format("delta")
per salvare un dataframe come tabella Delta, quindi è possibile usare il percorso in cui è stato salvato il dataframe come formato differenziale per registrare la tabella in Trino.
my_dataframe.write.format("delta").save("abfss://container@storageaccount.dfs.core.windows.net/synapse/workspaces/workspace_name/warehouse/table_name")
Passaggi successivi
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per