Componentes de Dataflow

DataflowPythonJobOp te permite crear un componente de Vertex AI Pipelines que prepare datos mediante el envío de un trabajo de Apache Beam escrito en Python a Dataflow para su ejecución.

El código de Python Beam se ejecuta con Dataflow Runner. Cuando ejecutas la canalización con el servicio de Dataflow, el ejecutor sube tu parámetro de código ejecutable (especificado por python_module_path) y las dependencias a un bucket de Cloud Storage (especificado por temp_location) y crea un trabajo de Dataflow que ejecuta tu canalización de Apache Beam en los 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, que es el contenedor que inicia el trabajo de Dataflow y espera el resultado, pueden ser costosos.

En su lugar, después de enviar el trabajo de Dataflow a través del ejecutor de Beam, el componente DataflowPythonJobOp finalizará de inmediato. El componente muestra un job_id como un .proto gcp_resources serializado. Este resultado se puede pasar 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 no cumple con tus requisitos (por ejemplo, si necesitas procesamiento previo antes de llamar al ejecutor de Beam o usa un lenguaje diferente como Beam Java), también puedes crear tu propio componente que dé como resultado el parámetro gcp_resources para aprovechar el componente WaitGcpResourcesOp. Para obtener detalles sobre cómo crear el parámetro de salida gcp_resources, consulta Escribe un componente para mostrar un vínculo de Google Cloud Console.

Referencia de API

Para ver la referencia del componente, consulta la referencia del SDK google_cloud_pipeline_components.

Instructivos

Historial de versiones y registro de cambios

Fecha Versión Notas
03/2022 GCPC v1.0 Versión 1.0 de los componentes.
02/2022 GCPC v0.3 Nueva versión experimental de los componentes.
11/2021 GCPC v0.2 Versión experimental de los componentes.

Contactos de asistencia técnica

Si tienes alguna pregunta, comunícate con kubeflow-pipelines-components@google.com.