Administración de dependencias de Python para canalizaciones de Delta Live Tables
Delta Live Tables admite dependencias externas en las canalizaciones. Databricks recomienda usar uno de los dos patrones para instalar paquetes de Python:
- Utilice este comando
%pip install
para instalar paquetes para todos los archivos fuente de una canalización. - Importe módulos o bibliotecas desde el código fuente almacenado en archivos del área de trabajo. Consulte Importación de módulos de Python desde carpetas de Git o archivos de área de trabajo.
Delta Live Tables también admite el uso de scripts de inicialización globales y de ámbito de clúster. Sin embargo, estas dependencias externas, especialmente los scripts de inicialización, aumentan el riesgo de problemas con las actualizaciones en entorno de ejecución. Para mitigar estos riesgos, minimice el uso de scripts de inicialización en las canalizaciones. Si su procesamiento requiere scripts init, automatice las pruebas de su canalización para detectar problemas a tiempo. Si usa scripts de inicialización, Databricks recomienda aumentar la frecuencia de las pruebas.
Importante
Como las bibliotecas de JVM no se admiten en canalizaciones de Delta Live Tables, no use un script de inicialización para instalar bibliotecas de JVM. Pero puede instalar otros tipos de biblioteca, como bibliotecas de Python, con un script de inicialización.
Bibliotecas de Python
Para especificar bibliotecas externas de Python, use el comando magic %pip install
. Cuando se inicia una actualización, Delta Live Tables ejecuta todas las celdas que contienen un comando %pip install
antes de ejecutar cualquier definición de tabla. Cada cuaderno Python incluido en la canalización comparte un entorno de bibliotecas y tiene acceso a todas las bibliotecas instaladas.
Importante
- Los comandos
%pip install
deben estar en una celda distinta en la parte superior del cuaderno de canalización de Delta Live Tables. No incluya ningún otro código en celdas que contengan comandos%pip install
. - Dado que cada cuaderno de una canalización comparte un entorno de biblioteca, no puede definir versiones de biblioteca diferentes en una sola canalización. Si el procesamiento requiere versiones de biblioteca diferentes, debe definirlas en distintas canalizaciones.
En el ejemplo siguiente se instala la biblioteca numpy
y se hace que esté disponible globalmente para cualquier cuaderno de Python de la canalización:
%pip install simplejson
Para instalar un paquete de rueda de Python, agregue la ruta de rueda de Python al comando %pip install
. Los paquetes wheel de Python instalados están disponibles para todas las tablas de la canalización. El siguiente ejemplo instala un archivo wheel de Python llamado dltfns-1.0-py3-none-any.whl
desde el directorio DBFS /dbfs/dlt/
:
%pip install /dbfs/dlt/dltfns-1.0-py3-none-any.whl
Consulte Instalar un paquete de rueda de Python con %pip.
¿Puedo usar bibliotecas de Scala o Java en una canalización de Delta Live Tables?
No, Delta Live Tables solo admite SQL y Python. No se pueden usar bibliotecas de JVM en una canalización. La instalación de bibliotecas de JVM provocará un comportamiento imprevisible y puede interrumpirse en futuras versiones de Delta Live Tables. Si la canalización usa un script de inicialización, también debe asegurarse de que el script no instala las bibliotecas de JVM.