Componenti Dataflow

I componenti Dataflow ti consentono di inviare job Apache Beam Dataflow per l'esecuzione. In Dataflow, Job rappresenta un job Dataflow.

L'SDK dei componenti della pipeline di Google Cloud include il i seguenti operatori per creare risorse Job e monitorarne l'esecuzione:

Inoltre, l'SDK dei componenti della pipeline di Google Cloud include WaitGcpResourcesOp per mitigare i costi durante l'esecuzione di job Dataflow.

DataflowFlexTemplateJobOp

La DataflowFlexTemplateJobOp consente di creare un'istanza Componente Vertex AI Pipelines per avviare Modello flessibile Dataflow.

In Dataflow, una LaunchFlexTemplateParameter rappresenta un modello flessibile da lanciare. Questo componente crea un'istanza LaunchFlexTemplateParameter risorsa e poi richiede a Dataflow avviando il modello per creare un job. Se il modello viene avviato correttamente, Dataflow restituisce un valore Job risorsa.

Il componente Modello flessibile Dataflow termina quando riceve un messaggio Job risorsa di Dataflow. Il componente restituisce un job_id come proto gcp_resources serializzato. Tu può passare questo parametro a un WaitGcpResourcesOp per attendere il completamento del job Dataflow.

DataflowPythonJobOp

La DataflowPythonJobOp consente di creare un componente Vertex AI Pipelines che prepara inviando un job Apache Beam basato su Python a Dataflow per dell'esecuzione.

Il codice Python del job Apache Beam viene eseguito con Dataflow Runner. Quando esegui la pipeline con il servizio Dataflow, il runner carica il codice eseguibile nella posizione specificata dal parametro python_module_path e dipendenze a un bucket Cloud Storage (specificato da temp_location), quindi crea un'istanza Job Dataflow che esegue la pipeline Apache Beam su risorse gestite in Google Cloud.

Per saperne di più su Dataflow Runner, consulta Utilizzo di Dataflow Runner.

Il componente Python di Dataflow accetta un elenco di argomenti passati tramite Beam Runner in Apache Beam le API nel tuo codice. Questi argomenti sono specificati da args. Ad esempio, puoi utilizzare questi per impostare Da apache_beam.options.pipeline_options a specificare una rete, una subnet, una chiave di crittografia gestita dal cliente (CMEK) e e altre opzioni quando esegui i job Dataflow.

WaitGcpResourcesOp

Il completamento dei job Dataflow può spesso richiedere molto tempo. I costi di un container busy-wait (il container che avvia il job Dataflow attendere il risultato) può diventare costoso.

Dopo aver inviato il job Dataflow utilizzando il runner Beam, DataflowPythonJobOp termina immediatamente e restituisce un parametro di output job_id come componente protocollo gcp_resources serializzato. Tu può passare questo parametro a un componente WaitGcpResourcesOp, in attesa che venga restituito Job Dataflow da completare.

    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 ottimizza WaitGcpResourcesOp per eseguirlo in una serverless, con costi pari a zero.

Se DataflowPythonJobOp e DataflowFlexTemplateJobOp non soddisfano i tuoi requisiti, puoi anche creare un tuo componente che generi il gcp_resources e passarlo al componente WaitGcpResourcesOp.

Per saperne di più su come creare il parametro di output gcp_resources, consulta Scrivi un componente per visualizzare il link di una console Google Cloud.

Riferimento API

Tutorial

Cronologia delle versioni e note di rilascio

Per saperne di più sulla cronologia delle versioni e sulle modifiche all'SDK dei componenti della pipeline di Google Cloud, consulta le note di rilascio dell'SDK per i componenti della pipeline di Google Cloud.

Contatti dell'assistenza tecnica

In caso di domande, contatta kubeflow-pipelines-components@google.com.