Los componentes de Dataflow te permiten enviar tareas de Apache Beam a Dataflow para que se ejecuten. En Dataflow, un recurso Job
representa una tarea de Dataflow.
El SDK incluye los siguientes operadores para crear recursos Job
y monitorizar su ejecución: Google Cloud
Además, el SDK incluye el componente WaitGcpResourcesOp
, que puedes usar para reducir los costes al ejecutar tareas de Dataflow. Google Cloud
DataflowFlexTemplateJobOp
El operador DataflowFlexTemplateJobOp
te permite crear un componente de
Vertex AI Pipelines para lanzar una plantilla flexible de Dataflow.
En Dataflow, un recurso LaunchFlexTemplateParameter
representa una plantilla flexible que se va a iniciar. Este componente crea un recurso LaunchFlexTemplateParameter
y, a continuación, solicita a Dataflow que cree una tarea iniciando la plantilla. Si la plantilla se inicia correctamente, Dataflow devuelve un recurso Job
.
El componente de plantilla flexible de Dataflow finaliza al recibir un recurso Job
de Dataflow. El componente genera un job_id
como un
proto gcp_resources
serializado. Puedes pasar este parámetro a un componente WaitGcpResourcesOp
para esperar a que se complete la tarea de Dataflow.
DataflowPythonJobOp
El operador DataflowPythonJobOp
te permite crear un componente de Vertex AI Pipelines que prepara los datos
enviando una tarea de Apache Beam basada en Python a Dataflow para
ejecutarla.
El código de Python de la tarea de Apache Beam se ejecuta con Dataflow Runner.
Cuando ejecutas tu flujo de procesamiento con el servicio Dataflow, el runner sube tu código ejecutable a la ubicación especificada por el parámetro python_module_path
y las dependencias a un bucket de Cloud Storage (especificado por temp_location
) y, a continuación, crea una tarea de Dataflow que ejecuta tu flujo de procesamiento de Apache Beam en recursos gestionados en Google Cloud.
Para obtener más información sobre Dataflow Runner, consulta el artículo sobre cómo usar Dataflow Runner.
El componente de Python de Dataflow acepta una lista de argumentos que se transfieren mediante el ejecutor de Beam al código de Apache Beam. Estos argumentos los especifica args
. Por ejemplo, puedes usar estos argumentos para definir apache_beam.options.pipeline_options
y especificar una red, una subred, una clave de cifrado gestionada por el cliente (CMEK) y otras opciones al ejecutar trabajos de Dataflow.
WaitGcpResourcesOp
Los trabajos de Dataflow suelen tardar mucho tiempo en completarse. Los costes de un contenedor busy-wait
(el contenedor que inicia el trabajo de Dataflow y espera el resultado) pueden ser elevados.
Después de enviar el trabajo de Dataflow mediante el runner de Beam, el componente DataflowPythonJobOp
finaliza inmediatamente y devuelve un parámetro de salida job_id
como un proto gcp_resources
serializado. Puedes pasar este parámetro a un componente WaitGcpResourcesOp
para esperar a que se complete la tarea de Dataflow.
dataflow_python_op = DataflowPythonJobOp( project=project_id, location=location, python_module_path=python_file_path, temp_location = staging_dir, requirements_file_path = requirements_file_path, args = ['--output', OUTPUT_FILE], ) dataflow_wait_op = WaitGcpResourcesOp( gcp_resources = dataflow_python_op.outputs["gcp_resources"] )
Vertex AI Pipelines optimiza el WaitGcpResourcesOp
para ejecutarlo de forma
sin servidor y no tiene ningún coste.
Si DataflowPythonJobOp
y DataflowFlexTemplateJobOp
no cumplen sus requisitos, también puede crear su propio componente que genere el parámetro gcp_resources
y pasarlo al componente WaitGcpResourcesOp
.
Para obtener más información sobre cómo crear un parámetro de salida gcp_resources
, consulta el artículo Escribir un componente para mostrar un Google Cloud enlace de consola.
Referencia de la API
Para obtener información de referencia sobre los componentes, consulta la Google Cloud referencia del SDK de componentes de Dataflow.
Para consultar la referencia de los recursos de Dataflow, consulta las siguientes páginas de referencia de la API:
Recurso
LaunchFlexTemplateParameter
Recurso
Job
Tutoriales
- Empezar a usar el componente de plantilla flexible de Dataflow
- Empezar a usar el componente de tarea de Python de Dataflow
- Especificar una red y una subred
- Usar claves de cifrado gestionadas por el cliente (CMEK)
Historial de versiones y notas de las versiones
Para obtener más información sobre el historial de versiones y los cambios del SDK de componentes de la canalización de Google Cloud , consulta las Google Cloud notas de la versión del SDK de componentes de la canalización.
Contactos de asistencia técnica
Si tienes alguna pregunta, escribe a kubeflow-pipelines-components@google.com.