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.
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, rimuovi la libreria e reimposta l'ambiente.
Configurare un ambiente di base
Un ambiente di base è un file YAML archiviato come file dell'area di lavoro o in un volume di Catalogo Unity che specifica dipendenze di ambiente aggiuntive. Gli ambienti di base possono essere condivisi tra notebook. Per configurare un ambiente di base:
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
Caricare il file YAML come file dell'area di lavoro o in un volume del catalogo Unity. Vedi Importare un file o Caricare file in un volume del Catalogo Unity.
A destra del notebook, fare clic sul pulsante
per espandere il pannello laterale ambiente. Questo pulsante viene visualizzato solo quando un notebook è connesso al calcolo serverless.
Nel campo Ambiente di Base, immettere il percorso del file YAML caricato oppure navigare fino ad esso e selezionarlo.
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 dipendenze in un notebook connesso al calcolo serverless usando il pannello laterale Environment:
- A destra del notebook, fare clic sul pulsante
per espandere il pannello laterale ambiente. Questo pulsante viene visualizzato solo quando un notebook è connesso al calcolo serverless.
- Seleziona la versione dell'ambiente dal menu a tendina Versione ambiente. Consultare le versioni dell'ambiente serverless . Databricks consiglia di scegliere la versione più recente per ottenere le funzionalità del notebook più up-to-date.
- 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 .
- 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 Installate nel pannello 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.
Reimpostare 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 laterale environment 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 condivide lo stesso set di 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, è 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 pannello laterale ambiente di un notebook associato al calcolo serverless, selezionare la freccia accanto a Applica e quindi fare clic su Reimposta ambiente.
Nota
Reimpostare l'ambiente virtuale se si installano pacchetti che interrompono o modificano il notebook principale o l'ambiente Apache Spark. Scollegare il notebook dal calcolo serverless e ricollegarlo non cancella necessariamente l'intera cache dell'ambiente. La reimpostazione dell'ambiente reinstalla tutte le dipendenze specificate nel pannello laterale ambiente, quindi assicurarsi che i pacchetti che causano errori vengano rimossi prima della reimpostazione.
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 visualizzare l'elenco delle librerie installate, vedere la sezione librerie Python installate della versione client in uso. Consultare le versioni dell'ambiente serverless . Se un'attività richiede una libreria Python non installata, è possibile installare la libreria dai file dell'area di lavoro , i volumi del catalogo Unityo i repository di pacchetti pubblici. Per aggiungere una libreria quando si crea o si modifica un'attività:
Nel menu a discesa Ambiente e librerie fare clic
accanto all'ambiente predefinito oppure fare clic su + Aggiungi nuovo ambiente.
Seleziona la versione dell'ambiente dal menu a tendina Versione ambiente. Consultare le versioni dell'ambiente serverless . Databricks consiglia di scegliere la versione più recente per ottenere le funzionalità più up-to-date.
Nella finestra di dialogo Configura ambiente fare clic su + Aggiungi libreria.
Seleziona il tipo di dipendenza dal menu a tendina sotto Librerie.
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 del catalogo Unity, il percorso deve essere
/Volumes/<catalog>/<schema>/<volume>/<path>.whl
.Per un file
requirements.txt
, selezionare PyPi e immettere-r /path/to/requirements.txt
.
- Fare clic su Conferma o + Aggiungi libreria per aggiungere un'altra raccolta.
- 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
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 valori vengono specificati nel codice o in un notebook, hanno la precedenza sulle impostazioni predefinite dell'area di lavoro.
Questa configurazione sfrutta segreti di Databricks per archiviare e gestire in modo sicuro GLI URL e le credenziali del repository. Gli amministratori possono configurare l'installazione usando la pagina delle impostazioni di amministrazione dell'area di lavoro o usando un ambito segreto predefinito e l'interfaccia della riga di comando di Databricks i comandi segreti o l'API REST .
Configurare usando la pagina delle impostazioni di amministrazione dell'area di lavoro
Gli amministratori dell'area di lavoro possono aggiungere o rimuovere i repository predefiniti dei pacchetti Python usando la pagina delle impostazioni di amministrazione dell'area di lavoro.
- Come amministratore dell'area di lavoro, accedere all'area di lavoro di Databricks.
- Fare clic sul nome utente nella barra superiore dell'area di lavoro Databricks e selezionare Impostazioni.
- Fare clic sulla scheda calcolo.
- Accanto a repository di pacchetti predefiniti, fare clic su Gestisci.
- (Facoltativo) Aggiungere o rimuovere un URL di indice, URL di indice aggiuntivi o un certificato SSL personalizzato.
- Fare clic su Salva per salvare le modifiche.
Nota
Le modifiche o le eliminazioni ai segreti vengono applicate dopo aver ricollegato il calcolo serverless ai notebook o rieseguito i processi serverless.
Configurazione utilizzando la CLI dei segreti o l'API REST
Per configurare i repository di pacchetti Python predefiniti usando l'interfaccia della riga di comando o l'API REST, 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 impostare 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 segreto, configurare gli elenchi di controllo di accesso per concedere a tutti gli utenti dell'area di lavoro l'accesso in lettura. In questo modo il repository rimane sicuro e non può essere modificato dai singoli utenti. L'ambito del segreto deve usare il nome dell'ambito del segreto predefinito databricks-package-management
.
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
Aggiungere i dettagli del repository di pacchetti Python usando i nomi di chiave privata predefiniti, con tutti e tre i campi facoltativi.
# 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