Puedes personalizar el entorno de ejecución del código de usuario en las canalizaciones de Dataflow si proporcionas una imagen de contenedor personalizada. Los contenedores personalizados son compatibles con las canalizaciones que usan Runner v2 de Dataflow.
Cuando Dataflow inicia las VMs de trabajador, usa imágenes de contenedor de Docker para iniciar los procesos del SDK alojados en contenedores en los trabajadores. De forma predeterminada, una canalización usa una imagen de Apache Beam compilada previamente. Sin embargo, puedes proporcionar una imagen de contenedor personalizada para tu trabajo de Dataflow. Cuando especificas una imagen de contenedor personalizada, Dataflow inicia los trabajadores que extraen la imagen especificada.
Puedes usar un contenedor personalizado por los siguientes motivos:
- Preinstalar las dependencias de canalizaciones para reducir el tiempo de inicio de los trabajadores.
- Preinstala las dependencias de canalizaciones que no están disponibles en los repositorios públicos.
- Preinstala las dependencias de canalizaciones cuando se desactiva el acceso a los repositorios públicos. Es posible que el acceso esté desactivado por motivos de seguridad.
- Ejecuta una etapa de pruebas de archivos grandes para reducir el tiempo de inicio de los trabajadores.
- Lanzar software de terceros en segundo plano.
- Personalizar el entorno de ejecución.
Para obtener más información sobre los contenedores personalizados en Apache Beam, consulta la guía de contenedores personalizados de Apache Beam. Para ver ejemplos de canalizaciones de Python que usan contenedores personalizados, consulta Contenedores personalizados de Dataflow.
Próximos pasos
- Compila imágenes de contenedores personalizadas.
- Compila imágenes de contenedores de varias arquitecturas
- Ejecuta un trabajo de Dataflow en un contenedor personalizado
- Soluciona problemas de contenedores personalizados