Eseguire l'onboarding dei dati da Azure Data Lake Storage Gen2
Questo articolo descrive come eseguire l'onboarding dei dati in una nuova area di lavoro di Azure Databricks da Azure Data Lake Storage Gen2. Si imparerà ad accedere in modo sicuro ai dati di origine in un percorso di archiviazione di oggetti cloud che corrisponde a un volume Unity Catalog (scelta consigliata) o a un percorso esterno Unity Catalog. Si apprenderà quindi come inserire i dati in modo incrementale in un table gestito di Unity Catalog usando il caricatore automatico con Delta Live Tables.
Nota
Per eseguire l'onboarding dei dati in Databricks SQL anziché in un notebook, consultare Caricare dati utilizzando lo streaming tables in Databricks SQL.
Operazioni preliminari
Se non si è un amministratore, questo articolo presuppone che un amministratore abbia fornito quanto segue:
Accesso a un'area di lavoro di Azure Databricks con Unity Catalog abilitato. Per altre informazioni, vedere Set e gestire Unity Catalog.
L'autorizzazione
READ VOLUME
sul volume esterno Unity Catalog o l'autorizzazioneREAD FILES
sulla posizione esterna Unity Catalog che corrisponde alla posizione di archiviazione cloud che contiene i dati di origine. Per ulteriori informazioni, vedere Creare una posizione esterna per connettere la memorizzazione cloud ad Azure Databricks.Il percorso dei dati di origine.
Esempio di percorso del volume:
/Volumes/<catalog>/<schema>/<volume>/<path>/<folder>
Esempio di percorso esterno:
abfss://<container>@<storage-account>.dfs.core.windows.net/<folder>
Privilegi di
USE SCHEMA
eCREATE TABLE
per l'schema in cui caricare i dati.l'autorizzazione di creazione del cluster o l'accesso a un di criteri del clusterche definisce un cluster della pipeline delta live ( campo a ). Se il percorso dei dati di origine è un percorso del volume, il cluster deve eseguire Databricks Runtime 13.3 LTS o versione successiva.
Importante
Per domande su questi prerequisiti, contattare l'amministratore dell'account.
Passaggio 1: Creare un cluster
Per creare un cluster, eseguire le operazioni seguenti:
- Accedere all'area di lavoro di Azure Databricks.
- Nella barra laterale fare clic su Nuovo>cluster.
- Nell'interfaccia utente dei cluster specificare un nome univoco per il cluster.
- Se il percorso verso i dati di origine è un percorso del volume, per la versione di runtime di Databricks Runtime, select 13.2 o successiva.
- Fare clic su Create cluster (Crea cluster).
Passaggio 2: Creare un notebook di esplorazione dei dati
Questa sezione descrive come creare un notebook di esplorazione dei dati in modo da poter comprendere i dati prima di creare la pipeline di dati.
Nella barra laterale fare clic su +Nuovo>notebook.
Il notebook viene collegato automaticamente all'ultimo cluster usato (in questo caso, il cluster creato nel passaggio 1: Creare un cluster).
Immettere un nome per il Notebook.
Fare clic sul pulsante lingua e quindi selezionare select
Python
oSQL
dal menu a discesa.Python
è selezionato per impostazione predefinita.Per confermare l'accesso ai dati di origine in ADLS Gen2, incollare il codice seguente in una cella del notebook, fare clic su e quindi su Esegui cella.
SQL
LIST '<path-to-source-data>'
Python
%fs ls '<path-to-source-data>'
Sostituire
<path-to-source-data>
con il percorso della directory che contiene i dati.Viene visualizzato il contenuto della directory che contiene il set di dati.
Per visualizzare un esempio dei record per comprendere meglio il contenuto e il formato di ogni record, incollare il codice seguente in una cella del notebook, fare clic su e quindi su Esegui cella.
SQL
SELECT * from read_files('<path-to-source-data>', format => '<file-format>') LIMIT 10
Python
spark.read.format('<file-format>').load('<path-to-source-data>').limit(10).display()
Sostituire il valuesseguente:
-
<file-format>
: formato di file supportato. Vedere Opzioni di formato file. -
<path to source data>
: percorso di un file nella directory che contiene i dati.
Vengono visualizzati i primi dieci record del file specificato.
-
Passaggio 3: Inserire dati non elaborati
Per inserire dati non elaborati, eseguire le operazioni seguenti:
Nella barra laterale fare clic su Nuovo>notebook.
Il notebook viene collegato automaticamente all'ultimo cluster usato( in questo caso, il cluster creato in precedenza in questo articolo).
Immettere un nome per il Notebook.
Fare clic sul pulsante lingua e quindi select
Python
oSQL
dal menu a discesa.Python
è selezionato per impostazione predefinita.Incollare il codice seguente in una cella del notebook:
SQL
CREATE OR REFRESH STREAMING TABLE <table-name> AS SELECT * FROM STREAM read_files( '<path-to-source-data>', format => '<file-format>' )
Python
@dlt.table(table_properties={'quality': 'bronze'}) def <table-name>(): return ( spark.readStream.format('cloudFiles') .option('cloudFiles.format', '<file-format>') .load(f'{<path-to-source-data>}') )
Sostituire il valuesseguente:
-
<table-name>
: il nome del table che conterrà i dati acquisiti. -
<path-to-source-data>
: percorso dei dati di origine. -
<file-format>
: formato di file supportato. Vedere Opzioni di formato file.
-
Nota
Delta Live Tables non è progettato per essere eseguito in modo interattivo nelle celle del notebook. L'esecuzione di una cella che contiene la sintassi delta Live Tables in un notebook restituisce un messaggio che indica se la query è sintatticamente valida, ma non esegue la logica di query. Il passaggio seguente descrive come creare una pipeline dal notebook di inserimento appena creato.
Passaggio 4: Creare e pubblicare una pipeline
Per creare una pipeline e pubblicarla in Unity Catalog, eseguire le operazioni seguenti:
- Nella barra laterale, fare clic su flussi di lavoro, fare clic sulla scheda Delta Live Tables, e quindi fare clic su Crea pipeline.
- Immettere un nome per la pipeline.
- Per modalità pipeline, selectattivata.
- Per codice sorgente, select il notebook che contiene il codice sorgente della pipeline.
- Per Destinazione, selectUnità Catalog.
- Per assicurarsi che il table sia gestito da Unity Catalog e qualsiasi utente con accesso all'schema padre possa eseguirne una query, select un Catalog e un target schema dagli elenchi a discesa.
- Se non si dispone dell'autorizzazione di creazione del cluster,
un di criteri cluster che supporta l' Delta Live dall'elenco a discesa . - Per
Advanced ,il Channel Preview . - Accetta tutti gli altri valori di default values e fai clic su Crea.
Passaggio 5: Pianificare la pipeline
Per pianificare la pipeline, eseguire le operazioni seguenti:
- Nella barra laterale fare clic su Delta Live Tables.
- Fare clic sul nome della pipeline che si vuole pianificare.
- Fare clic su Pianifica>aggiungi una pianificazione.
- In Nome processo immettere un nome per il processo.
pianificazione per pianificata. - Specificare il periodo, l'ora di inizio e il fuso orario.
- Configurare uno o più indirizzi di posta elettronica per ricevere avvisi all'avvio, all'esito positivo o negativo della pipeline.
- Cliccare su Crea.
Passaggi successivi
- Grant gli utenti accedono al nuovo table. Per altre informazioni, vedere privilegi di Unity Catalog e gli oggetti a protezione diretta.
- Gli utenti con accesso alla nuova table possono ora eseguire query su table in un notebook oppure usare l'editor SQL di Databricks .