Compartir vía


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:

  1. Utilice este comando %pip install para instalar paquetes para todos los archivos fuente de una canalización.
  2. 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.