Condividi tramite


Installare le dipendenze del notebook

È possibile installare le dipendenze Python per i notebook serverless usando il pannello laterale Ambiente . Questo pannello offre un'unica posizione in cui modificare, visualizzare ed esportare i requisiti della libreria di un notebook. Queste dipendenze possono essere aggiunte usando un ambiente di base o singolarmente.

Pannello dell'ambiente serverless con criteri di budget

Per le attività non notebook, vedere Configurare ambienti e dipendenze per attività non notebook.

Importante

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, reset l'ambiente.

Configurare un ambiente di base

Un ambiente di base è un file YAML salvato come file dell'area di lavoro o su un volume Catalog Unity che specifica ulteriori dipendenze dell'ambiente. Gli ambienti di base possono essere condivisi tra notebook. Per configurare un ambiente di base:

  1. Creare un file YAML che definisce le impostazioni per un ambiente virtuale Python. L'esempio YAML seguente, basato sulla specifica dell'ambiente dei progetti MLflow, definisce un ambiente di base con alcune dipendenze della libreria:

    client: "1"
    dependencies:
      - --index-url https://pypi.org/simple
      - -r "/Workspace/Shared/requirements.txt"
      - my-library==6.1
      - "/Workspace/Shared/Path/To/simplejson-3.19.3-py3-none-any.whl"
      - git+https://github.com/databricks/databricks-cli
    
  2. Carica il file YAML come file dell'area di lavoro o in un volume Catalog Unity. Vedere Importare un file o caricare file in un volume Catalog Unity.

  3. A destra del notebook fare clic sul dell'ambiente di pulsante per espandere il pannello Ambiente . Questo pulsante viene visualizzato solo quando un notebook è connesso al calcolo serverless.

  4. Nel campo Base Environment, immettere il percorso del file YAML caricato o passare ad esso e select.

  5. Fare clic su Applica. In questo modo vengono installate le dipendenze nell'ambiente virtuale del notebook e viene riavviato il processo Python.

Gli utenti possono eseguire l'override delle dipendenze specificate nell'ambiente di base installando singolarmente le dipendenze.

Configurare l'ambiente notebook

È anche possibile installare le dipendenze in un notebook connesso al calcolo serverless usando la scheda Dipendenze del pannello Ambiente :

  1. A destra del notebook fare clic sul dell'ambiente di pulsante per espandere il pannello Ambiente . Questo pulsante viene visualizzato solo quando un notebook è connesso al calcolo serverless.
  2. la versione dell'ambiente dall'elenco a discesa versione Ambiente. Consultare le versioni dell'ambiente serverless . Databricks consiglia di scegliere la versione più recente per get le funzionalità del notebook più up-to-date.
  3. Nella sezione Dipendenze fare clic su Aggiungi dipendenza e immettere il percorso della dipendenza della libreria nel campo . È possibile specificare una dipendenza in qualsiasi formato valido in un file di requirements.txt .
  4. Fare clic su Applica. In questo modo vengono installate le dipendenze nell'ambiente virtuale del notebook e viene riavviato il processo Python.

Nota

Un processo che usa il calcolo serverless installerà la specifica dell'ambiente del notebook prima di eseguire il codice del notebook. Ciò significa che non è necessario aggiungere dipendenze durante la pianificazione dei notebook come processi. Vedere Configurare ambienti e dipendenze.

Visualizzare le dipendenze installate e i log pip

Per visualizzare le dipendenze installate, fare clic su Installato nel pannello laterale Ambienti per un notebook. I log di installazione di pip per l'ambiente notebook sono disponibili cliccando su pip logs nella parte inferiore del pannello.

Reset l'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 pannello Ambiente quando si apre un notebook esistente, anche se è stato disconnesso a causa dell'inattività.

La memorizzazione nella cache dell'ambiente virtuale Python si applica anche ai processi. Quando viene eseguito un processo, qualsiasi attività del processo che shares la stessa set delle dipendenze di un'attività completata in tale esecuzione è più veloce, in quanto le dipendenze necessarie sono già disponibili.

Nota

Se si modifica l'implementazione di un pacchetto Python personalizzato usato in un processo in serverless, è anche necessario update relativo 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 pannello ambiente di un notebook collegato all'elaborazione serverless, fare clic sulla freccia accanto a Applica e quindi selezionare Reset ambiente.

Nota

Reset l'ambiente virtuale se si installano pacchetti che danneggiano o modificano l'ambiente fondamentale del notebook o di Apache Spark. Scollegare il notebook dal calcolo serverless e ricollegarlo non cancella necessariamente l'intera cache dell'ambiente.

Configurare ambienti e dipendenze per attività non notebook

Per altri tipi di attività supportati, ad esempio script Python, rotellina Python o attività dbt, un ambiente predefinito include librerie Python installate. Per vedere la list delle librerie installate, consultare la sezione "Librerie Python Installate" nella versione client in uso. Vedi le versioni dell'ambiente serverless. Se un'attività richiede una libreria Python non installata, è possibile installare la libreria dai file dell'area di lavoro , Unity Catalogvolumeso dai repository di pacchetti pubblici. Per aggiungere una libreria quando si crea o si modifica un'attività:

  1. Nel menu a discesa Ambiente e librerie fare clicIcona di modificaaccanto all'ambiente predefinito oppure fare clic su + Aggiungi nuovo ambiente.

    Modificare l'ambiente predefinito

  2. Select la versione dell'ambiente dall'elenco a discesa versione ambiente. Consulta ambiente serverless - versioni. Databricks consiglia di scegliere la versione più recente per get le funzionalità più up-to-date.

  3. Nella finestra di dialogo Configura ambiente fare clic su + Aggiungi libreria.

  4. Select scegli il tipo di dipendenza dal menu a tendina in Librerie.

  5. Nella casella di testo Percorso file immettere il percorso della libreria.

  • Per una rotellina Python in un file dell'area di lavoro, il percorso deve essere assoluto e iniziare con /Workspace/.

  • Per una rotellina Python in un volume Catalog Unity, il percorso deve essere /Volumes/<catalog>/<schema>/<volume>/<path>.whl.

  • Per un file requirements.txt, select PyPi, quindi inserisci -r /path/to/requirements.txt.

    Aggiungere librerie di attività

  1. Fare clic su Conferma o + Aggiungi libreria per aggiungere un'altra raccolta.
  2. Se si sta aggiungendo un task, cliccare Crea task. Se si sta modificando un task, cliccare Salva task.

Configurare i repository di pacchetti Python predefiniti

Importante

Questa funzionalità è in Public Preview.

Gli amministratori possono configurare repository di pacchetti privati o autenticati all'interno di aree di lavoro come configurazione pip predefinita per notebook serverless e processi serverless. In questo modo gli utenti possono installare pacchetti da repository Python interni senza definire in modo esplicito index-url o extra-index-url. Tuttavia, se questi values vengono specificati nel codice o in un notebook, hanno la precedenza sulle impostazioni predefinite dell'area di lavoro.

Questa configurazione sfrutta i segreti di Databricks per archiviare e gestire in modo sicuro gli URL del repository e credentials. Gli amministratori possono configurare l'installazione utilizzando un ambito segreto predefinito e i comandi segreti della CLI di Databricks o l'API REST .

Per configurare i repository di pacchetti Python predefiniti, creare un ambito segreto predefinito e configurare le autorizzazioni di accesso, quindi aggiungere i segreti del repository di pacchetti.

Nome dell'ambito del segreto predefinito

Gli amministratori dell'area di lavoro possono set URL di indice pip predefiniti o URL di indice aggiuntivi insieme ai token di autenticazione e ai segreti in un ambito segreto designato in chiavi predefinite:

  • Nome dell'ambito segreto: databricks-package-management
  • Chiave segreta per index-url: pip-index-url
  • Chiave segreta per URL extra-indice: pip-extra-index-urls
  • Chiave privata per il contenuto della certificazione SSL: pip-cert

Creare l'ambito segreto

È possibile creare un ambito di segreti usando i comandi segreti della CLI di Databricks o l'API REST . Dopo aver creato l'ambito del segreto, configurare gli elenchi di controllo di accesso per grant l'accesso in lettura a tutti gli utenti dell'area di lavoro. In questo modo il repository rimane sicuro e non può essere modificato dai singoli utenti.

databricks secrets create-scope databricks-package-management
databricks secrets put-acl databricks-package-management admins MANAGE
databricks secrets put-acl databricks-package-management users READ

Aggiungi i segreti del repository dei pacchetti Python

Aggiungi i dettagli del repository dei pacchetti Python usando i nomi delle chiavi segrete predefinite.

# Add index URL.
databricks secrets put-secret --json '{"scope": "databricks-package-management", "key": "pip-index-url", "string_value":"<index-url-value>"}'

# Add extra index URLs. If you have multiple extra index URLs, separate them using white space.
databricks secrets put-secret --json '{"scope": "databricks-package-management", "key": "pip-extra-index-urls", "string_value":"<extra-index-url-1 extra-index-url-2>"}'

# Add cert content. If you want to pip configure a custom SSL certificate, put the cert file content here.
databricks secrets put-secret --json '{"scope": "databricks-package-management", "key": "pip-cert", "string_value":"<cert-content>"}'

Modificare o eliminare segreti del repository PyPI privato

Per modificare i segreti del repository PyPI, usare il comando put-secret. Per eliminare i segreti del repository PyPI, usare delete-secret come illustrato di seguito:

# delete secret
databricks secrets delete-secret databricks-package-management pip-index-url

databricks secrets delete-secret databricks-package-management pip-extra-index-urls

databricks secrets delete-secret databricks-package-management pip-cert

# delete scope
databricks secrets delete-scope databricks-package-management

Nota

Le modifiche o le eliminazioni ai segreti vengono applicate dopo che un utente ricollega le risorse di calcolo serverless ai notebook o esegue nuovamente i processi serverless.