Plantillas de Dataflow

Las plantillas de Dataflow te permiten almacenar en etapa intermedia tus canalizaciones en Cloud Storage y ejecutarlas desde varios entornos. Puedes usar una de las plantillas que proporciona Google o crear las tuyas.

Las plantillas te proporcionan beneficios adicionales en comparación con la implementación tradicional de Dataflow, por ejemplo:

  • Ejecutar la canalización no requiere que vuelvas a compilar el código cada vez.
  • Puedes ejecutar las canalizaciones sin el entorno de desarrollo y las dependencias asociadas que son comunes con la implementación tradicional. Esto es útil para programar trabajos por lotes recurrentes.
  • Los parámetros del entorno de ejecución te permiten personalizar la ejecución de la canalización.
  • Los usuarios no técnicos pueden ejecutar plantillas mediante Google Cloud Console, la herramienta de línea de comandos de gcloud o la API de REST.

Compara la ejecución de trabajos tradicionales y con plantillas

Las plantillas de Dataflow ingresan un nuevo flujo de trabajo de desarrollo y ejecución que difiere del flujo de trabajo tradicional de ejecución de trabajos. El flujo de trabajo de la plantilla separa el paso de desarrollo de los pasos de etapa de pruebas y ejecución.

Trabajos de Dataflow tradicionales

El desarrollo de la canalización de Apache Beam y la ejecución de trabajos se producen en un entorno de desarrollo.

Este es el flujo de trabajo típico para los trabajos tradicionales de Dataflow:

  1. Los desarrolladores crean un entorno de desarrollo y desarrollan su canalización. El entorno incluye el SDK de Apache Beam y otras dependencias.
  2. Los usuarios ejecutan la canalización desde el entorno de desarrollo. El SDK de Apache Beam almacena en etapa intermedia archivos en Cloud Storage, crea un archivo de solicitud de trabajo y envía el archivo al servicio de Dataflow.

Trabajos de Dataflow con plantillas

Si usas plantillas de Dataflow, la etapa de pruebas y la ejecución son pasos independientes. Esta separación te brinda flexibilidad adicional para decidir quién puede ejecutar trabajos y desde dónde.

Este es el flujo de trabajo típico para trabajos de Dataflow con plantilla:

  1. Los desarrolladores crean un entorno de desarrollo y desarrollan su canalización. El entorno incluye el SDK de Apache Beam y otras dependencias.
  2. Los desarrolladores ejecutan la canalización y crean una plantilla. El SDK de Apache Beam almacena en etapa intermedia archivos en Cloud Storage, crea un archivo de solicitud de plantilla (parecido a la solicitud de trabajo) y guarda el archivo con plantilla en Cloud Storage.
  3. Otros usuarios pueden ejecutar trabajos con facilidad mediante Cloud Console, la herramienta de línea de comandos de gcloud o la API de REST para enviar solicitudes de ejecución de archivos de plantillas al servicio de Dataflow.

Trabajos de Dataflow con plantillas flexibles

Si usas plantillas flexibles de Dataflow, la etapa de pruebas y la ejecución son pasos independientes. Esta separación te brinda más flexibilidad para decidir quién puede ejecutar los trabajos, desde dónde ejecutarlos y los pasos de ejecución del trabajo según los parámetros de entrada y salida.

Este es el flujo de trabajo típico de los trabajos de Dataflow con plantillas flexibles:

  1. Los desarrolladores crean un entorno de desarrollo y desarrollan su canalización. El entorno incluye el SDK de Apache Beam y otras dependencias.
  2. Los desarrolladores empaquetan la canalización en un contenedor de Docker y, luego, usan la herramienta de línea de comandos de gcloud para compilar y guardar el archivo de la plantilla flexible en Cloud Storage.
  3. Otros usuarios pueden ejecutar trabajos con facilidad mediante Cloud Console, la herramienta de línea de comandos de gcloud o la API de REST para enviar solicitudes de ejecución de archivos de plantillas flexibles al servicio de Dataflow.

Antes de comenzar

Para crear tus propias plantillas, asegúrate de que la versión del SDK de Apache Beam admita la creación de plantillas.

Java: SDK 2.x

Si deseas crear plantillas con el SDK de Dataflow 2.x para Java, debes tener la versión 2.0.0-beta3 o una versión posterior.

Python

Si deseas crear plantillas con el SDK de Dataflow 2.x para Python, debes tener la versión 2.0.0 o una versión posterior.

Java: SDK 1.x

Para ejecutar plantillas con la herramienta de línea de comandos de gcloud, debes tener el SDK de Cloud versión 138.0.0 o posterior.

Próximos pasos