Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
I bundle di asset di Databricks, noti anche come bundle, consentono di convalidare, distribuire ed eseguire risorse di Azure Databricks a livello di codice, ad esempio pipeline dichiarative spark di Lakeflow. Vedere Che cosa sono i bundle di asset di Databricks?.
Questa pagina descrive come creare un bundle per gestire a livello di codice una pipeline. Vedere Pipeline dichiarative di Lakeflow Spark. Il pacchetto viene creato usando il comando Databricks CLI pipelines init, che definisce una pipeline ETL e un processo per eseguirla. Quindi convalidi, distribuisci ed esegui la pipeline distribuita nella tua area di lavoro di Azure Databricks su un ambiente di calcolo serverless.
Suggerimento
Se sono presenti pipeline esistenti create usando l'interfaccia utente di Azure Databricks o l'API che si vuole spostare in bundle, è necessario definirle nei file di configurazione di un bundle. Databricks consiglia di creare prima un bundle usando la procedura seguente, quindi aggiungere la configurazione e altre origini al bundle. Vedere Recuperare una definizione di pipeline esistente usando l'interfaccia utente.
Requisiti
- CLI di Databricks versione 0.283.0 o successiva. Per controllare la versione installata dell'interfaccia della riga di comando di Databricks, eseguire il comando
databricks -v. Per installare l'interfaccia della riga di comando di Databricks, vedere Installare o aggiornare l'interfaccia della riga di comando di Databricks. - Uv è necessario per eseguire test e installare le dipendenze per questo progetto da un IDE.
- L'area di lavoro remota deve avere abilitati i file dell'area di lavoro. Vedere Che cosa sono i file dell'area di lavoro?.
- Catalogo esistente di tabelle nel database della pipeline. Vedi Creare cataloghi.
(Facoltativo) Installare un modulo Python per supportare lo sviluppo di pipeline locali
Databricks offre un modulo Python per facilitare lo sviluppo locale del codice di Pipeline dichiarative spark di Lakeflow fornendo il controllo della sintassi, il completamento automatico e il controllo del tipo di dati durante la scrittura del codice nell'IDE.
Il modulo Python per lo sviluppo locale è disponibile in PyPi. Per installare il modulo, vedere stub Python per DLT.
Passaggio 1: Configurare l'autenticazione
Configurare prima di tutto l'autenticazione tra l'interfaccia della riga di comando di Databricks nel computer di sviluppo e l'area di lavoro di Azure Databricks. Questa pagina presuppone che si voglia usare l'autenticazione da utente a computer (U2M) OAuth e un profilo di configurazione di Azure Databricks corrispondente denominato DEFAULT per l'autenticazione.
Nota
L'autenticazione U2M è appropriata per provare questi passaggi in tempo reale. Per i flussi di lavoro completamente automatizzati, Databricks consiglia di usare invece l'autenticazione OAuth da computer a computer (M2M). Vedere le istruzioni di configurazione dell'autenticazione M2M in Autorizzare l'accesso dell'entità servizio ad Azure Databricks con OAuth.
Usare l'interfaccia della riga di comando di Databricks per avviare la gestione dei token OAuth in locale eseguendo il comando seguente per ogni area di lavoro di destinazione.
Nel comando seguente sostituire
<workspace-url>con l'URL di Azure Databricks per area di lavoro, ad esempiohttps://adb-1234567890123456.7.azuredatabricks.net.databricks auth login --host <workspace-url>L'interfaccia della riga di comando di Databricks richiede di salvare le informazioni immesse come profilo di configurazione di Azure Databricks. Premere
Enterper accettare il nome del profilo suggerito oppure immettere il nome di un profilo nuovo o esistente. Qualsiasi profilo esistente con lo stesso nome viene sovrascritto con le informazioni immesse. È possibile usare i profili per cambiare rapidamente il contesto di autenticazione tra più aree di lavoro.Per ottenere un elenco di tutti i profili esistenti, in un terminale o un prompt dei comandi separato, usare il Databricks CLI per eseguire il comando
databricks auth profiles. Per visualizzare le impostazioni esistenti di un profilo specifico, eseguire il comandodatabricks auth env --profile <profile-name>.Nel Web browser completare le istruzioni visualizzate per accedere all'area di lavoro di Azure Databricks.
Per visualizzare il valore corrente del token OAuth di un profilo e il timestamp di scadenza imminente del token, eseguire uno dei comandi seguenti:
databricks auth token --host <workspace-url>databricks auth token -p <profile-name>databricks auth token --host <workspace-url> -p <profile-name>
Se si dispone di più profili con lo stesso valore
--host, potrebbe essere necessario specificare insieme le opzioni--hoste-pper consentire al Databricks CLI di trovare le informazioni corrette corrispondenti sul token OAuth.
Passaggio 2: Creazione del bundle
Inizializzare un bundle con una pipeline:
Usare il terminale o il prompt dei comandi per navigare verso una directory sulla propria macchina di sviluppo locale che conterrà il bundle generato dal template.
Usare l'interfaccia della riga di comando di Databricks per eseguire il comando
pipelines init:databricks pipelines initPer
Unique name for this project, lasciare il valore predefinito dimy_pipeline_projecto digitare un valore diverso e quindi premereEnter. Questo determina il nome della directory radice per questo bundle. Questa directory principale viene creata all’interno della directory di lavoro corrente.Per
Initial catalogimmettere il nome di un catalogo di Unity Catalog esistente.Per
Use a personal schema for each user working on this project?selezionareyes.Per
Initial language for this projectselezionarepython.
Passaggio 3: Esplorare il bundle
Per visualizzare i file generati dal modello, passare alla directory radice del bundle appena creato. La struttura seguente viene creata per impostazione predefinita:
my_pipeline_project
├── databricks.yml
├── pyproject.toml
├── README.md
├── resources
│ ├── my_pipeline_project_etl.pipeline.yml
│ └── sample_job.job.yml
└── src
└── my_pipeline_project_etl
├── explorations
│ └── sample_exploration.ipynb
├── README.md
└── transformations
├── sample_trips_my_pipeline_project.py
└── sample_zones_my_pipeline_project.py
I file seguenti sono di particolare interesse:
-
databricks.yml: questo file specifica il nome programmatico del bundle, include riferimenti ai file del bundle, definisce le variabili del catalogo e dello schema e specifica le impostazioni per le aree di lavoro di destinazione. -
resources/sample_job.job.ymleresources/<project-name>_etl_pipeline.yml: questi file definiscono il processo che contiene un'attività di aggiornamento della pipeline e le impostazioni della pipeline. Per informazioni sulle impostazioni della pipeline, vedere Pipeline. -
src/: questa cartella contiene i file di origine, le esplorazioni e le trasformazioni della pipeline di esempio. -
README.md: questo file contiene informazioni aggiuntive su come iniziare e usare questo modello di bundle.
Passaggio 4: Convalidare la configurazione del bundle
Verificare ora se la configurazione del bundle è valida.
Dalla directory radice, usare il CLI di Databricks per eseguire il comando
bundle validatedatabricks bundle validateSe viene restituito un riepilogo della configurazione del bundle, la convalida ha avuto esito positivo. Se vengono restituiti errori, correggerli e ripetere questo passaggio.
Passaggio 5: Distribuire la pipeline nell'area di lavoro remota
Distribuire quindi il bundle nell'area di lavoro di Azure Databricks remota e verificare la pipeline nell'area di lavoro.
Da radice del bundle, usa un comando CLI di Databricks
deploy:databricks bundle deploy --target devO:
databricks pipelines deploy --target devVerificare che il bundle sia stato distribuito:
- Nella barra laterale dell'area di lavoro di Azure Databricks fare clic su Area di lavoro.
- Fare clic nella cartella Users (Utenti >
<your-username>>.bundle) e trovare il progetto bundle.
Controlla se la tua pipeline è stata creata:
- Nella barra laterale dell'area di lavoro di Azure Databricks fare clic su Processi e pipeline.
- Facoltativamente, selezionare i filtri Pipeline e Di mia proprietà.
- Fare clic su [dev
<your-username>]<project-name>_etl.
Se si apportano modifiche al bundle dopo questo passaggio, è necessario ripetere i passaggi 4 e 5 per verificare se la configurazione del bundle è ancora valida e quindi ridistribuire il progetto.
Passaggio 6: Avviare la pipeline distribuita
Attivare ora un'esecuzione della pipeline nell'area di lavoro dalla riga di comando.
Dalla directory principale, utilizzare il CLI di Databricks per eseguire il comando
bundle run, sostituendo<project-name>con il nome del proprio progetto.databricks pipelines run --target dev <project-name>_etlCopiare il valore di
Update URLvisualizzato nel terminale e incollare questo valore nel Web browser per aprire l'area di lavoro di Azure Databricks.Nell'area di lavoro di Azure Databricks, al termine dell'esecuzione della pipeline, fare clic sulle viste materializzate per visualizzare i dettagli di ciascuna vista.
Se si apportano modifiche al bundle dopo questo passaggio, è necessario ripetere i passaggi da 4 a 6 per verificare se la configurazione del bundle è ancora valida, ridistribuire il progetto ed eseguire il progetto ridistribuito.
Passaggio 7: Eseguire test
Infine, usare pytest per eseguire i test in locale:
uv run pytest
Passaggio 8: Pulire
In questo passaggio si elimina il bundle distribuito e la pipeline dall'area di lavoro.
Dalla directory radice, usare il CLI di Databricks per eseguire il comando
bundle destroydatabricks pipelines destroy --target devQuando viene richiesto di eliminare definitivamente le risorse, la pipeline e le tabelle e le viste gestite dalla pipeline, digitare
ye premereEnter.Se si vuole eliminare anche il bundle dal computer di sviluppo, è ora possibile eliminare la directory del progetto locale.