Los componentes de Dataflow te permiten enviar trabajos de Apache Beam a Dataflow para su ejecución. En Dataflow, un
recurso Job
representa un trabajo de Dataflow.
El SDK de los componentes de canalización de Google Cloud incluye los
siguientes operadores para crear recursos Job
y supervisar su ejecución:
Además, el SDK de los componentes de canalización de Google Cloud incluye el
componente WaitGcpResourcesOp
,
que puedes usar para mitigar costos mientras ejecutas
trabajos de Dataflow.
DataflowFlexTemplateJobOp
El operador DataflowFlexTemplateJobOp
te permite crear un componente de Vertex AI Pipelines para iniciar una plantilla de Flex de Dataflow.
En Dataflow, un recurso LaunchFlexTemplateParameter
representa una plantilla de Flex que se iniciará. Este componente crea un recurso LaunchFlexTemplateParameter
y, luego, solicita a Dataflow que cree un trabajo mediante el inicio de la plantilla. Si la plantilla se inicia de forma correcta, Dataflow muestra un recurso Job
.
El componente de plantilla de Flex de Dataflow finaliza cuando se recibe 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 el trabajo de Dataflow.
DataflowPythonJobOp
El operador DataflowPythonJobOp
te permite crear un componente de Vertex AI Pipelines que prepare datos mediante el envío de un trabajo de Apache Beam basado en Python a Dataflow para su ejecución.
El código de Python del trabajo de Apache Beam se ejecuta con Dataflow Runner.
Cuando ejecutas la canalización con el servicio de Dataflow, el ejecutor sube tu código ejecutable a la ubicación que especifica el parámetro python_module_path
y las dependencias a un bucket de Cloud Storage (especificado por temp_location
) y, luego, crea un trabajo de Dataflow que ejecuta tu canalización de Apache Beam en recursos administrados en Google Cloud.
Para obtener más información sobre Dataflow Runner, consulta Usa Dataflow Runner.
El componente de Python para Dataflow acepta una lista de argumentos
que se pasan a través del ejecutor de Beam a tu código de
Apache Beam. args
especifica estos argumentos. Por ejemplo, puedes usar estos argumentos para configurar apache_beam.options.pipeline_options
a fin de especificar una red, una subred, una clave de encriptación administrada por el cliente (CMEK) y otras opciones cuando ejecutas trabajos de Dataflow.
WaitGcpResourcesOp
Los trabajos de Dataflow a menudo pueden tardar mucho tiempo en completarse. Los costos de un contenedor busy-wait
(el contenedor que inicia el trabajo de Dataflow y espera el resultado) pueden ser caros.
Después de enviar el trabajo de Dataflow a través del ejecutor de Beam,
el componente DataflowPythonJobOp
finaliza de inmediato y muestra 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 el trabajo 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 sin servidores y sin costos.
Si DataflowPythonJobOp
y DataflowFlexTemplateJobOp
no cumplen con tus requisitos, también puedes crear tu propio componente que genere el parámetro gcp_resources
y lo pase al componente WaitGcpResourcesOp
.
Para obtener más información sobre cómo crear el parámetro de salida gcp_resources
, consulta Escribe un componente para mostrar un vínculo de la consola de Google Cloud.
Referencia de la API
Para obtener la referencia del componente, consulta la referencia del SDK de componentes de canalización de Google Cloud para componentes de Dataflow.
Para obtener información de referencia de los recursos de Dataflow, consulta las siguientes páginas de referencia de la API:
recurso
LaunchFlexTemplateParameter
recurso
Job
Instructivos
- Comienza a usar el componente de plantilla de Flex de Dataflow
- Comienza a usar el componente de trabajo de Dataflow para Python
- Especifica una red y una subred
- Usa claves de encriptación administradas por el cliente (CMEK)
Historial de versiones y notas de la versión
Para obtener más información sobre el historial de versiones y los cambios en el SDK de componentes de canalización de Google Cloud, consulta las notas de la versión del SDK de componentes de canalización de Google Cloud.
Contactos de asistencia técnica
Si tienes alguna pregunta, comunícate con kubeflow-pipelines-components@google.com.