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.
Databricks Asset Bundles è uno strumento per facilitare l'adozione delle procedure consigliate di progettazione software, tra cui controllo del codice sorgente, revisione del codice, test e recapito continuo (CI/CD), per i progetti di dati e intelligenza artificiale. I bundle consentono di includere metadati insieme ai file di origine del progetto e di descrivere le risorse di Databricks, ad esempio processi e pipeline come file di origine. In definitiva, un bundle è una definizione end-to-end di un progetto, incluso il modo in cui il progetto deve essere strutturato, testato e distribuito. In questo modo è più semplice collaborare ai progetti durante lo sviluppo attivo.
La raccolta di file e metadati di origine del progetto bundle viene distribuita come singolo bundle nell'ambiente di destinazione. Un bundle include le seguenti parti:
- Configurazioni necessarie per l'infrastruttura cloud e l'area di lavoro
- File di origine, ad esempio notebook e file Python, che includono la logica di business
- Definizioni e impostazioni per le risorse di Databricks, ad esempio processi Lakeflow, pipeline dichiarative di Lakeflow, endpoint di gestione dei modelli, esperimenti MLflow e modelli registrati MLflow
- Test unitari e test di integrazione
Il diagramma seguente fornisce una visualizzazione di alto livello di una pipeline CI/CD e di sviluppo con pacchetti.
Quando è consigliabile usare i bundle di asset di Databricks?
I bundle di asset di Databricks sono un approccio IaC (Infrastructure-as-Code) alla gestione dei progetti Databricks. Usarli quando si vogliono gestire progetti complessi in cui più collaboratori e automazione sono essenziali e l'integrazione e la distribuzione continue (CI/CD) sono un requisito. Poiché i bundle vengono definiti e gestiti tramite modelli e file YAML creati e gestiti insieme al codice sorgente, vengono mappati bene agli scenari in cui IaC è un approccio appropriato.
Alcuni scenari ideali per i bundle includono:
- Sviluppare progetti di dati, analisi e Machine Learning in un ambiente basato su team. I bundle consentono di organizzare e gestire in modo efficiente vari file di origine. Ciò garantisce una collaborazione uniforme e processi semplificati.
- Iterare sui problemi di Machine Learning più rapidamente. Gestire le risorse della pipeline di ML (ad esempio processi di addestramento e inferenza batch) usando progetti di Machine Learning che seguono le best practice produttive fin dall'inizio.
- Definire gli standard organizzativi per i nuovi progetti creando modelli di pacchetto personalizzati che includano autorizzazioni predefinite, principali di servizio, e configurazioni CI/CD.
- Conformità alle normative: nei settori in cui la conformità alle normative è una preoccupazione significativa, i pacchetti possono contribuire a mantenere una cronologia delle versioni del codice e del lavoro delle infrastrutture. In questo modo si assiste nella governance e si garantisce che vengano soddisfatti gli standard di conformità necessari.
Come funzionano i Databricks Asset Bundle?
I metadati del bundle vengono definiti usando file YAML che specificano gli artefatti, le risorse e la configurazione di un progetto Databricks. Il Databricks CLI può quindi essere usata per convalidare, distribuire ed eseguire bundle usando questi file YAML di bundle. È possibile eseguire progetti bundle da IDE, terminali o direttamente in Databricks.
I bundle possono essere creati manualmente o in base a un modello. L'interfaccia della riga di comando di Databricks fornisce modelli predefiniti per casi d'uso semplici, ma per processi più specifici o complessi è possibile creare modelli di bundle personalizzati per implementare le procedure consigliate del team e mantenere coerenti le configurazioni comuni.
Per altre informazioni sulla configurazione YAML usata per esprimere i bundle di asset di Databricks, vedere Configurazione del bundle di asset di Databricks.
Requisiti
I bundle di asset di Databricks sono una funzione della CLI di Databricks. I bundle vengono compilati in locale, quindi si usa l'interfaccia della riga di comando di Databricks per distribuire i bundle nelle aree di lavoro remote di Databricks ed eseguire flussi di lavoro bundle in tali aree di lavoro dalla riga di comando.
Per compilare, distribuire ed eseguire bundle nelle aree di lavoro di Azure Databricks:
Le aree di lavoro remote di Databricks devono avere i file dell'area di lavoro abilitati. Se si usa Databricks Runtime versione 11.3 LTS o successiva, questa funzionalità è abilitata per impostazione predefinita.
È necessario installare l'interfaccia della riga di comando di Databricks, versione 0.218.0 o successiva. Per installare o aggiornare l'interfaccia della riga di comando di Databricks, vedere Installare o aggiornare l'interfaccia della riga di comando di Databricks.
Databricks consiglia di eseguire regolarmente l'aggiornamento alla versione più recente dell'interfaccia della riga di comando per sfruttare le nuove funzionalità del bundle. Per trovare la versione del Databricks CLI installata, eseguire il seguente comando:
databricks --version
Hai configurato il Databricks CLI per accedere alle aree di lavoro Databricks. Databricks consiglia di configurare l'accesso usando l'autenticazione da utente a computer (U2M) OAuth, descritta in Configurare l'accesso all'area di lavoro. Altri metodi di autenticazione sono descritti in Autenticazione per i bundle di asset di Databricks.
Come si inizia a usare i bundle?
Il modo più rapido per avviare lo sviluppo di bundle consiste nell'usare un modello di progetto bundle. Creare il primo progetto bundle usando il comando bundle init dell'interfaccia a riga di comando di Databricks. Questo comando presenta una scelta di modelli predefiniti di bundle forniti da Databricks e pone una serie di domande per inizializzare le variabili di progetto.
databricks bundle init
La creazione del bundle è il primo passaggio del ciclo di vita di un bundle. Successivamente, sviluppa il bundle definendo le impostazioni e le risorse del bundle nei file di configurazione indicati in databricks.yml
e nelle risorse dei file di configurazione. Infine, convalidare e distribuire il bundle, quindi eseguire i flussi di lavoro.
Suggerimento
Gli esempi di configurazione del bundle possono essere trovati negli esempi di configurazione del bundle e nel repository degli esempi di bundle su GitHub.
Passaggi successivi
- Creare un bundle che distribuisce un notebook in un'area di lavoro di Azure Databricks e quindi esegue il notebook distribuito in un processo o una pipeline di Azure Databricks. Vedere Sviluppare un lavoro con i pacchetti di asset di Databricks e Sviluppare pipeline dichiarative di Lakeflow con i pacchetti di asset di Databricks.
- Creare un bundle che implementa ed esegue uno stack automatizzato di MLOps. Consulta i bundle di asset di Databricks per gli stack MLOps .
- Avviare una distribuzione di bundle come parte di un flusso di lavoro CI/CD (integrazione continua/distribuzione continua) in GitHub. Vedere Eseguire un flusso di lavoro CI/CD con un bundle che esegue un aggiornamento della pipeline.
- Creare un bundle che costruisce, distribuisce e chiama un file wheel di Python. Consulta Creare un file wheel Python usando i bundle di risorse di Databricks.
- Generare la configurazione nel bundle per un processo o un'altra risorsa nell'area di lavoro, quindi associarla alla risorsa nell'area di lavoro in modo che la configurazione rimanga sincronizzata. Vedere Generare un file di configurazione del bundle e Associare una risorsa bundle.
- Creare e distribuire un bundle nell'area di lavoro. Vedere Collaborare ai bundle nell'area di lavoro.
- Creare un modello personalizzato che tu e altri utenti possano usare per creare un pacchetto. Un modello personalizzato può includere autorizzazioni predefinite, entità servizio e configurazione CI/CD personalizzata. Consulta i modelli di progetto del bundle di asset Databricks.
- Eseguire la migrazione da dbx a Databricks Asset Bundle. Vedi Migrazione da dbx a bundle.
- Scoprire le nuove funzionalità principali più recenti rilasciate per i Databricks Asset Bundle. Consulta le note sulla pubblicazione delle funzionalità dei bundle di asset di Databricks.