Condividi tramite


Usare il codice sorgente controllato dalla versione in un processo di Azure Databricks

È possibile eseguire processi usando notebook o codice Python che si trova in un repository Git remoto o in una cartella Git di Databricks. Questa funzionalità semplifica la creazione e la gestione dei processi di produzione e automatizza la distribuzione continua:

  • Non è necessario creare un repository di produzione separato in Azure Databricks, gestirlo e mantenerlo aggiornato.
  • È possibile impedire modifiche involontarie a un processo di produzione, ad esempio modifiche locali nel repository di produzione o modifiche di un ramo.
  • Il processo di definizione del processo ha una singola origine di verità nel repository remoto e ogni esecuzione del processo è collegata a un hash di commit.

Per usare il codice sorgente in un repository Git remoto, è necessario configurare le cartelle Git di Databricks (Repos).

Importante

I notebook creati da processi di Azure Databricks eseguiti da repository Git remoti sono temporanei e non possono essere usati per tenere traccia delle esecuzioni, degli esperimenti o dei modelli MLflow. Quando si crea un notebook da un processo, usare un esperimento MLflow dell'area di lavoro (anziché un esperimento MLflow del notebook) e chiamare mlflow.set_experiment("/path/to/experiment")nel notebook dell'area di lavoro prima di eseguire qualsiasi codice di rilevamento MLflow. Per altri dettagli, vedere Impedire la perdita di dati negli esperimenti MLflow.

Nota

Se il processo viene eseguito usando un'entità servizio come identità, è possibile configurare l'entità servizio nella cartella Git contenente il codice sorgente del processo. Vedere Usare un'entità servizio con le cartelle Git di Databricks.

Usare un notebook da un repository Git remoto

Per creare un'attività con un notebook che si trova in un repository Git remoto:

  1. Fare clic su Icona Flussi di lavoro Flussi di lavoro nella barra laterale e fare clic Pulsante Crea processo o passare a un processo esistente e aggiungere una nuova attività.

  2. Se si tratta di un nuovo processo, sostituire Aggiungi un nome per il processo... con il nome del processo.

  3. Immettere un nome per l'attività nel campo Nome attività.

  4. Nel menu a discesa Tipo selezionare Notebook.

  5. Nel menu a discesa Origine selezionare Provider Git e fare clic su Modifica o Aggiungi un riferimento Git. Viene visualizzata la finestra di dialogo Informazioni Git.

  6. Nella finestra di dialogo Informazioni Git immettere i dettagli per il repository, inclusi l'URL del repository, il provider Git e le informazioni di riferimento su Git. Questo riferimento Git può essere un ramo, un tag o un commit.

    In Percorso immettere un percorso relativo al percorso del notebook, ad esempio etl/notebooks/.

    Quando si immette il percorso relativo, non iniziare con / o ./e non includere l'estensione del file del notebook, ad esempio .py. Ad esempio, se il percorso assoluto del notebook a cui si vuole accedere è /notebooks/covid_eda_raw.py, immettere notebooks/covid_eda_raw nel campo Percorso.

  7. Cliccare su Crea.

Importante

Se si usa un notebook Python direttamente da un repository Git di origine, la prima riga del file di origine del notebook deve essere # Databricks notebook source. Per un notebook Scala, la prima riga del file di origine deve essere // Databricks notebook source.

Usare il codice Python da un repository Git remoto

Per creare un'attività con codice Python che si trova in un repository Git remoto:

  1. Fare clic su Icona Flussi di lavoro Flussi di lavoro nella barra laterale e fare clic Pulsante Crea processo o passare a un processo esistente e aggiungere una nuova attività.

  2. Se si tratta di un nuovo processo, sostituire Aggiungi un nome per il processo... con il nome del processo.

  3. Immettere un nome per l'attività nel campo Nome attività.

  4. Nel menu a discesa Tipo selezionare Script Python.

  5. Nel menu a discesa Origine selezionare Provider Git e fare clic su Modifica o Aggiungi un riferimento Git. Viene visualizzata la finestra di dialogo Informazioni Git.

  6. Nella finestra di dialogo Informazioni Git immettere i dettagli per il repository, inclusi l'URL del repository, il provider Git e le informazioni di riferimento su Git. Questo riferimento Git può essere un ramo, un tag o un commit.

    In Path (Percorso) immettere un percorso relativo alla posizione di origine, ad esempio etl/python/python_etl.py.

    Quando si immette il percorso relativo, non iniziare con / o ./. Ad esempio, se il percorso assoluto per il codice Python a cui si vuole accedere è /python/covid_eda_raw.py, immettere python/covid_eda_raw.py nel campo Percorso.

  7. Cliccare su Crea.

Quando si visualizza la cronologia di esecuzione di un'attività che esegue codice Python archiviato in un repository Git remoto, il pannello Dettagli esecuzione attività include i dettagli git, incluso il commit SHA associato all'esecuzione.

Usare query SQL da un repository Git remoto

Nota

In un file è supportata una sola istruzione SQL. Più istruzioni SQL separate da punti e virgola (;) non sono consentite.

Per eseguire query archiviate in .sql file che si trovano in un repository Git remoto:

  1. Fare clic su Icona Flussi di lavoro Flussi di lavoro nella barra laterale e fare clic Pulsante Crea processo o passare a un processo esistente e aggiungere una nuova attività.

  2. Se si tratta di un nuovo processo, sostituire Aggiungi un nome per il processo... con il nome del processo.

  3. Immettere un nome per l'attività nel campo Nome attività.

  4. Nel menu a discesa Tipo selezionare SQL.

  5. Nel menu a discesa attività SQL selezionare File.

  6. Nel menu a discesa Origine selezionare Provider Git e fare clic su Modifica o Aggiungi un riferimento Git. Viene visualizzata la finestra di dialogo Informazioni Git.

  7. Nella finestra di dialogo Informazioni Git immettere i dettagli per il repository, inclusi l'URL del repository, il provider Git e le informazioni di riferimento su Git. Questo riferimento Git può essere un ramo, un tag o un commit.

    In Path (Percorso) immettere un percorso relativo alla posizione di origine, ad esempio queries/sql/myquery.sql.

    Quando si immette il percorso relativo, non iniziare con / o ./. Ad esempio, se il percorso assoluto per la query SQL a cui si vuole accedere è /sql/myqeury.sql, immettere sql/myquery.sql nel campo Percorso.

  8. Selezionare un'istanza di SQL Warehouse. È necessario selezionare un serverless SQL Warehouse o un pro SQL Warehouse.

  9. Cliccare su Crea.

Aggiunta di attività aggiuntive da un repository Git remoto

Le attività aggiuntive in un processo multitasking possono fare riferimento allo stesso commit nel repository remoto in uno dei modi seguenti:

  • sha di $branch/head quando git_branch è impostato
  • sha di $tag quando git_tag è impostato
  • valore di git_commit

È possibile combinare attività di Notebook e Python in un processo di Azure Databricks, ma devono usare lo stesso riferimento Git.

Usare una cartella Git di Databricks

Se si preferisce usare l'interfaccia utente di Azure Databricks per controllare il codice sorgente, clonare il repository in una cartella Git di Databricks. Per altre informazioni, vedere Opzione 2: Configurare una cartella Git di produzione e l'automazione Git.

Per aggiungere un notebook o codice Python da una cartella Git in un'attività di processo, nel menu a discesa Origine selezionare Area di lavoro e immettere il percorso del notebook o del codice Python in Percorso.

Accedere ai notebook da un IDE

Se è necessario accedere ai notebook da un ambiente di sviluppo integrato, assicurarsi di avere il commento # Databricks notebook source nella parte superiore del file di codice sorgente del notebook. Per distinguere tra un normale file Python e un notebook python di Azure Databricks esportato in formato codice sorgente, Databricks aggiunge la riga # Databricks notebook source all'inizio del file di codice sorgente del notebook. Quando si importa il notebook, Azure Databricks lo riconosce e lo importa come notebook, non come modulo Python.

Risoluzione dei problemi

Nota

I processi basati su Git non supportano l'accesso in scrittura ai file dell'area di lavoro. Per scrivere dati in una posizione di archiviazione temporanea, usare l'archiviazione driver. Per scrivere dati persistenti da un processo Git, usare un volume UC o DBFS.

Messaggio di errore:

Run result unavailable: job failed with error message Notebook not found: path-to-your-notebook

Possibili cause:

Il notebook non contiene il commento # Databricks notebook source nella parte superiore del file del codice sorgente del notebook o nel commento notebook , quando deve iniziare con lettere minuscole n.