Leggi le tabelle Delta Lake (Synapse o posizione esterna)
Importante
Azure HDInsight su AKS è stato ritirato il 31 gennaio 2025. Scopri di più con questo annuncio.
È necessario eseguire la migrazione dei carichi di lavoro a Microsoft Fabric o a un prodotto Azure equivalente per evitare la chiusura brusca dei carichi di lavoro.
Importante
Questa funzionalità è attualmente in anteprima. Le condizioni supplementari per l'utilizzo per le anteprime di Microsoft Azure includono termini legali più validi applicabili alle funzionalità di Azure in versione beta, in anteprima o altrimenti non ancora rilasciate nella disponibilità generale. Per informazioni su questa anteprima specifica, vedere informazioni sull'anteprima di Azure HDInsight su AKS. Per domande o suggerimenti sulle funzionalità, inviare una richiesta in AskHDInsight con i dettagli e seguireci per altri aggiornamenti su 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.
- CANCELLARE
- AGGIORNARE
- INSERIRE
- UNIRE
Prerequisiti
Creare gli schemi e le 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.
Esplora l'account di archiviazione nel portale di Azure utilizzando il
Storage browser
per accedere alla directory di base della tua tabella. Se questa tabella ha origine in Synapse, è probabile che si trovi in un percorsosynapse/workspaces/.../warehouse/
, che sia denominata con il nome della tua tabella e che contenga una directory_delta_log
. SelezionareCopy URL
dai tre puntini posizionati 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 procedura
register_table
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 in formato Delta 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")