Gestire le dipendenze Python per le pipeline DLT
DLT supporta le dipendenze esterne nelle pipeline. Databricks consiglia di usare uno dei due modelli per installare i pacchetti Python:
- Usare il comando
%pip install
per installare i pacchetti per tutti i file di origine in una pipeline. - Importare moduli o librerie dal codice sorgente archiviato nei file dell'area di lavoro. Vedere Importare moduli Python da cartelle Git o file dell'area di lavoro.
DLT supporta anche l'uso di script di inizializzazione con ambito globale e cluster . Tuttavia, queste dipendenze esterne, in particolare gli script init, aumentano il rischio di problemi con gli aggiornamenti di runtime. Per attenuare questi rischi, ridurre al minimo l'uso di script init nelle pipeline. Se l'elaborazione richiede script init, automatizzare i test della pipeline per rilevare i problemi in anticipo. Se si usano script init, Databricks consiglia di aumentare la frequenza di test.
Importante
Poiché le librerie JVM non sono supportate nelle pipeline DLT, non utilizzare uno script init per installare le librerie JVM. Tuttavia, è possibile installare altri tipi di libreria, ad esempio le librerie Python, con uno script init.
librerie Python
Per specificare librerie Python esterne, usare il comando magic %pip install
. All'avvio di un aggiornamento, DLT esegue tutte le celle contenenti un comando %pip install
prima di eseguire qualsiasi definizione di tabella. Ogni notebook Python incluso nella pipeline condivide un ambiente di libreria e ha accesso a tutte le librerie installate.
Importante
- I comandi
%pip install
devono essere in una cella separata nella parte superiore del tuo notebook della pipeline DLT. Non includere altro codice nelle celle contenenti comandi%pip install
. - Poiché ogni notebook in una pipeline condivide un ambiente di libreria, non è possibile definire versioni di libreria diverse in una singola pipeline. Se l'elaborazione richiede versioni diverse della libreria, è necessario definirle in pipeline diverse.
L'esempio seguente installa la libreria numpy
e la rende disponibile a livello globale per qualsiasi notebook Python nella pipeline:
%pip install simplejson
Per installare un pacchetto Python wheel, aggiungere il percorso del Python wheel al comando %pip install
. I pacchetti wheel di Python installati sono disponibili per tutte le tabelle nella pipeline. L'esempio seguente installa un file wheel python denominato dltfns-1.0-py3-none-any.whl
da un volume del catalogo Unity:
%pip install /Volumes/my_catalog/my_schema/my_dlt_volume/dltfns-1.0-py3-none-any.whl
Consulta l'installazione di un pacchetto Python wheel con %pip
.
È possibile usare librerie Scala o Java in una pipeline DLT?
No, DLT supporta solo SQL e Python. Non è possibile usare librerie JVM in una pipeline. L'installazione delle librerie JVM causerà un comportamento imprevedibile e potrebbe interrompersi con le versioni future DLT. Se la pipeline usa uno script init, è anche necessario assicurarsi che le librerie JVM non siano installate dallo script.