Configurare l'ambiente serverless

Questa pagina illustra come configurare l'ambiente serverless per notebook e attività di processo. Per i notebook, usare il riquadro laterale Ambiente per selezionare un ambiente di base, installare le dipendenze, configurare la memoria e applicare i criteri di utilizzo. Per le attività di processo, configurare l'ambiente quando si crea o si modifica un'attività.

Per espandere il riquadro laterale Ambiente , fare clic sul pulsante ambiente a destra del notebook.

Riquadro dell'ambiente serverless

Selezionare un ambiente di base

Un ambiente di base determina le librerie preinstallate e la versione dell'ambiente disponibili per il notebook serverless. Il selettore dell'ambiente di base nel riquadro laterale Ambiente è la posizione in cui si sceglie l'ambiente. Per informazioni dettagliate su ogni versione dell'ambiente, vedere le versioni dell'ambiente serverless . Databricks consiglia di usare la versione più recente per ottenere le funzionalità più up-to-date del notebook.

Il selettore dell'ambiente di base include le opzioni seguenti:

  • Standard: ambiente di base serverless predefinito con librerie fornite da Databricks.
  • ML (Beta): ambiente di base con il Python e i pacchetti di sistema di Databricks Runtime per Machine Learning preinstallati. Utilizza questo ambiente per eseguire la migrazione dei carichi di lavoro del classico Databricks Runtime per il machine learning su compute serverless. Vedi ambiente di base ML.
  • intelligenza artificiale: un ambiente di base ottimizzato per l'intelligenza artificiale con librerie di Machine Learning (ML) preinstallate. Questa opzione viene visualizzata solo quando è selezionato un acceleratore (GPU).
  • Altre informazioni: Espande per visualizzare opzioni aggiuntive:
    • Versioni precedenti degli ambienti Standard, ML e intelligenza artificiale.
    • Personalizzato: specificare un ambiente personalizzato usando un file YAML.
  • Ambienti dell'area di lavoro: elenca tutti gli ambienti di base compatibili configurati per l'area di lavoro da un amministratore.

Per selezionare un ambiente di base:

  1. Nell'interfaccia utente del notebook, fare clic sul riquadro laterale Ambienteenvironment.
  2. In Ambiente di base selezionare un ambiente dal menu a discesa.
  3. Fare clic su Applica.

Aggiungere dipendenze al notebook

Poiché serverless non supporta criteri di calcolo o script di inizializzazione, è necessario installare dipendenze personalizzate usando il riquadro laterale Environment. È possibile installare le dipendenze singolarmente o usare un ambiente di base condivisibile per installare più dipendenze.

Azure Databricks memorizza nella cache l'ambiente virtuale del notebook, quindi le dipendenze non vengono reinstallate ogni volta che si riapre un notebook o si riprende dopo l'inattività. Anche le attività di processo che condividono lo stesso set di dipendenze traggono vantaggio da questa cache all'interno di un'esecuzione.

Per installare singolarmente una dipendenza:

  1. Nell'interfaccia utente del notebook, fare clic sul riquadro laterale Environmentenvironment.

  2. Nella sezione Dipendenze fare clic su Aggiungi dipendenza e immettere il percorso della dipendenza nel campo . È possibile specificare una dipendenza in qualsiasi formato valido in un file di requirements.txt . Python file wheel o progetti di Python (ad esempio, la directory contenente un pyproject.toml o un setup.py) possono trovarsi nei file dell'area di lavoro o nei volumi di Unity Catalog.

    • Se si usa un file dell'area di lavoro, il percorso deve essere assoluto e iniziare con /Workspace/.
    • Se si usa un file in un volume di Catalogo Unity, il percorso deve essere nel formato seguente: /Volumes/<catalog>/<schema>/<volume>/<path>.whl.
  3. Fare clic su Apply per installare le dipendenze e riavviare il processo di Python.

Important

Non installare PySpark o qualsiasi libreria che installa PySpark come dipendenza dai notebook serverless. In questo modo la sessione verrà interrotta e verrà generato un errore. In questo caso, rimuovi la libreria e reimposta l'ambiente.

Per visualizzare le dipendenze installate, fare clic sulla scheda Installato nel riquadro laterale Ambienti . Apri i log di installazione di pip per l'ambiente del notebook facendo clic su pip logs nella parte inferiore del riquadro.

Note

Gli amministratori dell'area di lavoro possono configurare repository di pacchetti privati o autenticati come origine pip predefinita per notebook e processi serverless. In questo modo gli utenti possono installare pacchetti da repository interni senza specificare index-url o extra-index-url. Vedere Configurare i repository di pacchetti predefiniti Python.

Creare una specifica di ambiente personalizzata

È possibile creare e riutilizzare specifiche di ambiente personalizzate.

  1. In un notebook serverless, seleziona un ambiente di base e installa eventuali dipendenze desiderate.
  2. Fare clic sul pulsante del menu Icona del menu Kebab. nella parte inferiore del riquadro dell'ambiente, quindi fare clic su Esporta ambiente.
  3. Salvare la specifica come file dell'area di lavoro o in un volume del catalogo Unity.

Per usare la specifica di ambiente personalizzata in un notebook, selezionare Personalizzato dal menu a discesa Ambiente di base, quindi usare l'icona Cartella. per selezionare il file YAML.

Creare strumenti comuni da condividere nell'area di lavoro

Questo esempio archivia un'utilità in un file dell'area di lavoro e la installa come dipendenza del notebook serverless:

  1. Creare una cartella con la struttura seguente. Assicurarsi che altri utenti abbiano accesso in lettura a questo percorso:

    helper_utils/
    ├── helpers/
    │   └── __init__.py   # your common functions live here
    ├── pyproject.toml
    
  2. Popolare pyproject.toml come segue:

    [project]
    name = "common_utils"
    version = "0.1.0"
    
  3. Aggiungere una funzione al init.py file. Per esempio:

    def greet(name: str) -> str:
        return f"Hello, {name}!"
    
  4. Nell'interfaccia utente del notebook fare clic del riquadro laterale Environment icon.Ambiente.

  5. Nella sezione Dipendenze fare clic su Aggiungi dipendenza e quindi immettere il percorso del file util. Ad esempio: /Workspace/helper_utils.

  6. Fare clic su Applica.

È ora possibile usare la funzione nel notebook:

from helpers import greet
print(greet('world'))

L'output è il seguente:

Hello, world!

Usare il runtime di intelligenza artificiale (GPU serverless)

Important

Il runtime di intelligenza artificiale è disponibile in anteprima pubblica.

Seguire questa procedura per configurare il runtime di intelligenza artificiale, basato sul calcolo GPU serverless, nel notebook Azure Databricks:

  1. Da un notebook fare clic sul menu a discesa di calcolo nella parte superiore e selezionare GPU serverless.
  2. Fare clic sull'icona Ambiente. Per aprire il riquadro laterale Ambiente .
  3. Selezionare A10 nel campo Acceleratore .
  4. In Ambiente di base selezionare Standard per l'ambiente predefinito o intelligenza artificiale per l'ambiente ottimizzato per l'intelligenza artificiale con librerie di Machine Learning (ML) preinstallate.
  5. Fare clic su Applica e quindi confermare che si vuole applicare il runtime di intelligenza artificiale all'ambiente notebook.

Per altri dettagli, vedere Runtime di intelligenza artificiale.

Utilizzare una computazione serverless ad elevato uso di memoria

Important

Questa funzionalità è in Anteprima Pubblica.

Se si verificano errori di memoria insufficiente nel notebook, configurare il notebook in modo da usare una dimensione di memoria superiore. Questa impostazione delle dimensioni della memoria aumenta le dimensioni della memoria REPL usata durante l'esecuzione del codice nel notebook. Non influisce sulle dimensioni della memoria della sessione Spark. L'utilizzo serverless con memoria elevata ha una velocità di emissione DBU superiore rispetto alla memoria standard.

Le opzioni di memoria disponibili sono:

  • Standard: 16 GB di memoria totale.
  • Alta: 32 GB di memoria totale.

Per configurare l'impostazione di memoria del notebook:

  1. Nell'interfaccia del notebook, fare clic sul riquadro laterale Environmentenvironment.
  2. Nella sezione Memoria, selezionare Memoria alta.
  3. Fare clic su Applica.

Questa impostazione di memoria si applica anche alle attività del processo notebook eseguite usando le preferenze di memoria del notebook. L'aggiornamento delle preferenze di memoria nel notebook influisce sull'esecuzione successiva del processo.

Selezionare un criterio di utilizzo serverless

Important

Questa funzionalità è in Anteprima Pubblica.

I criteri di utilizzo serverless consentono all'organizzazione di applicare tag personalizzati all'utilizzo serverless per l'attribuzione granulare della fatturazione.

Se l'area di lavoro usa criteri di utilizzo serverless, selezionare i criteri da applicare al notebook. Se un utente viene assegnato a un solo criterio di utilizzo serverless, tale criterio viene applicato per impostazione predefinita.

Dopo essersi connessi al compute serverless, selezionare un criterio dal riquadro laterale Ambiente:

  1. Nell'interfaccia del notebook, fare clic sul riquadro laterale Ambienteambiente.
  2. In Criteri di utilizzo serverless selezionare i criteri di utilizzo serverless da applicare al notebook.
  3. Fare clic su Applica.

Una volta applicato, tutto l'utilizzo dei notebook acquisisce i tag personalizzati del criterio.

Note

Se il notebook ha origine da un repository Git o non dispone di un criterio di utilizzo serverless assegnato, per impostazione predefinita viene impostato l'ultimo criterio di utilizzo serverless scelto quando viene collegato successivamente al calcolo serverless.

Includere l'ambiente nelle esportazioni di file di origine

Per Python notebook, è possibile attivare o disattivare Include nelle esportazioni di file di origine nella configurazione dell'ambiente. Se abilitata, l'ambiente di base e le dipendenze vengono archiviate in formato PEP 723 nelle esportazioni di file di origine. Ciò consente di rendere persistente la configurazione dell'ambiente quando i notebook vengono archiviati in cartelle Git o scaricati come file di origine.

Ad esempio, un notebook che usa Standard v5 esporta la configurazione dell'ambiente come metadati inline all'inizio del file:

# Databricks notebook source
# /// script
# [tool.databricks.environment]
# environment_version = "5"
# ///
print("Hello World!")

Reimpostare le dipendenze dell'ambiente

Se il notebook è connesso al calcolo serverless, Databricks memorizza automaticamente nella cache il contenuto dell'ambiente virtuale del notebook. Ciò significa che in genere non è necessario reinstallare le dipendenze Python specificate nel riquadro laterale Environment quando si apre un notebook esistente, anche se è stato disconnesso a causa dell'inattività.

La memorizzazione nella cache dell'ambiente virtuale di Python si applica anche ai job. Quando viene eseguito un processo, qualsiasi attività che condivide lo stesso set di dipendenze di un'attività completata nella stessa esecuzione viene completata più velocemente, perché la cache contiene già le dipendenze necessarie.

Note

Se si modifica l'implementazione di un pacchetto di Python personalizzato usato in un processo in serverless, è necessario aggiornarne anche il numero di versione in modo che i processi possano selezionare l'implementazione più recente.

Per cancellare la cache dell'ambiente ed eseguire una nuova installazione delle dipendenze specificate nel riquadro laterale Ambiente di un notebook collegato al calcolo serverless, fare clic sulla freccia accanto a Applica e quindi fare clic su Reimposta impostazioni predefinite.

Se si installano pacchetti che interrompono o modificano il notebook principale o l'ambiente Apache Spark, rimuovere i pacchetti che causano errori e quindi reimpostare l'ambiente. L'avvio di una nuova sessione non cancella l'intera cache dell'ambiente.

Configurare l'ambiente per le attività lavorative

Ogni attività di processo viene eseguita in un ambiente isolato che include un ambiente di base e tutte le librerie aggiuntive specificate. L'ambiente di base imposta la versione di runtime di Python e Scala e le librerie preinstallate. Le attività ereditano il set predefinito di librerie installate dalla versione dell'ambiente. Per vedere cosa è incluso, consulta la sezione Librerie Python installate o Librerie Java e Scala installate della versione dell'ambiente in uso.

È possibile integrare le librerie preinstallate con librerie da file dell'area di lavoro, volumi del catalogo Unity o repository di pacchetti pubblici. In fase di esecuzione vengono installate solo le dipendenze necessarie per l'attività.

Important

L'uso dell'ambiente di calcolo serverless per le attività JAR è disponibile in anteprima pubblica.

Important

La selezione di un ambiente di base gestito è in versione beta. L'elenco a discesa Ambiente di base nella finestra di dialogo Configura ambiente consente di selezionare gli ambienti forniti da Databricks (ad esempio Standard e ML) o ambienti configurati per l'area di lavoro. In assenza di questa funzionalità, la finestra di dialogo mostra invece un menu a discesa Versione dell'ambiente. Gli amministratori dell'area di lavoro possono abilitare questa funzionalità dalla pagina Anteprime .

Finestra di dialogo Configura ambiente con l'elenco a discesa Ambiente di base espanso con le sezioni Ambienti Databricks e Ambienti dell'area di lavoro

Configurare l'ambiente in base al tipo di attività

La modalità di configurazione degli ambienti in un processo dipende dal tipo di attività:

Attività del notebook

Per impostazione predefinita, le attività del notebook usano Ambiente del notebook, che utilizza l'ambiente di base e le dipendenze configurati del notebook. È possibile eseguire l'override di questa operazione con un ambiente a livello di processo.

Menu a discesa Ambiente e librerie per un'attività del notebook che mostra le opzioni Ambiente del notebook e Ambiente dei job

Per configurare un ambiente a livello di job:

  1. Nella configurazione dell'attività fare clic sul menu a discesa Ambiente e librerie .
  2. In Ambiente processi fare clic sull'icona a forma di matita accanto a Predefinito oppure fare clic su + Aggiungi nuovo ambiente processi.
  3. Nella finestra di dialogo Configura ambiente selezionare dal menu a discesa Ambiente di base :
    • ambienti Databricks: opzioni fornite da Azure Databricks, ad esempio Standard e ML.
    • Ambienti dell'area di lavoro: ambienti personalizzati configurati dall'amministratore dell'area di lavoro. Vedere Gestire gli ambienti di base dell'area di lavoro.
    • Altre: versioni precedenti e Custom (specificare un file YAML).
  4. In Dipendenze aggiungere eventuali librerie aggiuntive. È possibile specificare una libreria in qualsiasi formato valido in un file requirements.txt oppure usare un percorso assoluto per un file dell'area di lavoro o un volume del catalogo Unity.
  5. Cliccare Conferma.

Note

Se nell'area di lavoro non è abilitata la funzionalità di anteprima dell'ambiente di base dell'area di lavoro per i processi, la finestra di dialogo Configura ambiente mostra un menu a discesa Versione dell'ambiente anziché Ambiente di base.

Per configurare l'ambiente, selezionare una versione, quindi fare clic su + Aggiungi libreria. È possibile specificare un percorso del file dell'area di lavoro (a partire da /Workspace/), un percorso del volume del catalogo Unity (a partire da /Volumes/) o un riferimento al file dei requisiti (ad esempio, -r /Workspace/path/to/requirements.txt).

Attività per script Python e pacchetti wheel di Python

Le attività script Python e Python wheel richiedono che sia configurato un ambiente.

Sezione Environment and Libraries di un'attività Python wheel con il collegamento Add dependency

  1. Nella configurazione dell'attività, in Ambiente e librerie, fare clic su + Aggiungi dipendenza.
  2. Nella finestra di dialogo Configura ambiente selezionare dal menu a discesa Ambiente di base :
    • ambienti Databricks: opzioni fornite da Azure Databricks, ad esempio Standard e ML.
    • Ambienti dell'area di lavoro: ambienti personalizzati configurati dall'amministratore dell'area di lavoro. Vedere Gestire gli ambienti di base dell'area di lavoro.
    • Altre: versioni precedenti e Custom (specificare un file YAML).
  3. In Dipendenze aggiungere eventuali librerie aggiuntive.
  4. Cliccare Conferma.

Note

Se nell'area di lavoro non è abilitata l'anteprima dell'ambiente di base dell'area di lavoro per i processi, la finestra di dialogo Configura ambiente mostra un menu a discesa Versione dell'ambiente invece di Ambiente di base.

Per configurare l'ambiente, selezionare una versione, quindi fare clic su + Aggiungi libreria. È possibile specificare un percorso del file dell'area di lavoro (a partire da /Workspace/), un percorso del volume del catalogo Unity (a partire da /Volumes/) o un riferimento al file dei requisiti (ad esempio, -r /Workspace/path/to/requirements.txt).

Attività Dbt

Le attività DBT usano un ambiente a livello di processo per la configurazione della libreria.

Elenco a discesa Ambiente e librerie per un'attività dbt che mostra le opzioni dell'ambiente processi

Per configurare un ambiente a livello di job:

  1. Nella configurazione dell'attività fare clic sul menu a discesa Ambiente e librerie .
  2. In Ambiente processi fare clic sull'icona a forma di matita accanto a un ambiente esistente oppure fare clic su + Aggiungi nuovo ambiente processi.
  3. Nella finestra di dialogo Configura ambiente selezionare dal menu a discesa Ambiente di base :
    • ambienti Databricks: opzioni fornite da Azure Databricks, ad esempio Standard e ML.
    • Ambienti dell'area di lavoro: ambienti personalizzati configurati dall'amministratore dell'area di lavoro. Vedere Gestire gli ambienti di base dell'area di lavoro.
    • Altre: versioni precedenti e Custom (specificare un file YAML).
  4. In Dipendenze aggiungere eventuali librerie aggiuntive. È possibile specificare una libreria in qualsiasi formato valido in un file requirements.txt oppure usare un percorso assoluto per un file dell'area di lavoro o un volume del catalogo Unity.
  5. Cliccare Conferma.

Note

Se nell'area di lavoro non è attivata la funzionalità di anteprima dell'ambiente di base dell'area di lavoro per i processi, la finestra di dialogo Configura ambiente mostra il menu a discesa Versione dell'ambiente anziché Ambiente di base.

Per configurare l'ambiente, selezionare una versione, quindi fare clic su + Aggiungi libreria. È possibile specificare un percorso del file dell'area di lavoro (a partire da /Workspace/), un percorso del volume del catalogo Unity (a partire da /Volumes/) o un riferimento al file dei requisiti (ad esempio, -r /Workspace/path/to/requirements.txt).

Attività JAR

Gli ambienti di base dell'area di lavoro non sono supportati per le attività JAR. Per configurare l'ambiente per un'attività JAR:

Sezione Ambiente e librerie di un'attività JAR in cui è visualizzato il collegamento Aggiungi dipendenza JAR

  1. Nella configurazione dell'attività, in Ambiente e librerie, fare clic su + Aggiungi dipendenza JAR.
  2. Nella finestra di dialogo Configura ambiente :
    • Facoltativamente, immettere un percorso di un file YAML nel campo Ambiente di base .
    • Selezionare una versione dell'ambiente dal menu a discesa Versione ambiente .
    • In Dipendenze JAR aggiungere i percorsi ai file JAR.
  3. Cliccare Conferma.

Per creare un ambiente di base personalizzato basato su YAML, vedere Creare una specifica di ambiente personalizzata.

Compatibilità di ambiente e calcolo

L'ambiente di base selezionato deve essere compatibile con il tipo di calcolo dell'attività. Ad esempio, un ambiente creato per il calcolo GPU non è compatibile con il calcolo della CPU. Nell'interfaccia utente dei processi, gli ambienti incompatibili non sono disponibili nel menu a discesa dell'ambiente di base.

Quando si configura un'attività notebook, il tipo di calcolo (CPU o GPU) e l'ambiente di base possono provenire dalle impostazioni del processo o dalle impostazioni del notebook.

  • Se si imposta un acceleratore hardware (GPU) a livello di processo, è necessario selezionare anche un ambiente di base a livello di processo. Non è possibile usare l'ambiente del notebook con un acceleratore a livello di processo.
  • Se si dispone di attività di processo che fanno riferimento a un notebook e si aggiorna il tipo di calcolo del notebook a cui si fa riferimento (ad esempio, dalla CPU alla GPU), le attività esistenti potrebbero diventare incompatibili con l'ambiente configurato. Rivedi le impostazioni dell'ambiente del job dopo aver modificato la configurazione di calcolo del notebook.
  • Per gli utenti dell'API: se si imposta l'ambiente di base a livello di processo, ma il notebook definisce il tipo di calcolo, Azure Databricks convalida la compatibilità in fase di esecuzione, non in fase di creazione del processo. Se la configurazione non è compatibile, l'esecuzione non riesce con un errore.