I componenti Dataflow consentono di inviare job Apache Beam a Dataflow per l'esecuzione. In Dataflow, una risorsa Job
rappresenta un job Dataflow.
L'SDK dei componenti della pipeline di Google Cloud include i seguenti operatori per la creazione di risorse Job
e per monitorarne l'esecuzione:
Inoltre, l'SDK dei componenti della pipeline di Google Cloud include il componente WaitGcpResourcesOp
, che puoi utilizzare per mitigare i costi durante l'esecuzione dei job Dataflow.
DataflowFlexTemplateJobOp
L'operatore DataflowFlexTemplateJobOp
consente di creare un componente Vertex AI Pipelines per avviare un modello flessibile Dataflow.
In Dataflow, una risorsa LaunchFlexTemplateParameter
rappresenta un modello flessibile da lanciare. Questo componente crea una risorsa LaunchFlexTemplateParameter
e richiede a Dataflow di creare un job avviando il modello. Se il modello viene avviato correttamente, Dataflow restituisce una risorsa Job
.
Il componente Modello flessibile di Dataflow termina quando riceve una risorsa Job
da Dataflow. Il componente restituisce un job_id
come
protocollo gcp_resources
serializzato. Puoi passare questo parametro a un componente WaitGcpResourcesOp
in attesa del completamento del job Dataflow.
DataflowPythonJobOp
L'operatore DataflowPythonJobOp
consente di creare un componente Vertex AI Pipelines che prepara i dati inviando un job Apache Beam basato su Python per l'esecuzione a Dataflow.
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 le dipendenze in un bucket Cloud Storage (specificato da temp_location
), quindi crea un job Dataflow che esegue la pipeline Apache Beam sulle risorse gestite in Google Cloud.
Per ulteriori informazioni su Dataflow Runner, consulta Utilizzo di Dataflow Runner.
Il componente Python di Dataflow accetta un elenco di argomenti passati utilizzando il runner Beam al codice Apache Beam. Questi argomenti sono specificati da args
. Ad esempio, puoi utilizzare questi argomenti per impostare apache_beam.options.pipeline_options
in modo che specifichi una rete, una subnet, una chiave di crittografia gestita dal cliente (CMEK) 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 e attende il risultato) possono diventare costosi.
Dopo aver inviato il job Dataflow utilizzando il runner Beam, il componente DataflowPythonJobOp
termina immediatamente e restituisce un parametro di output job_id
come proto gcp_resources
serializzato. Puoi passare questo parametro a un componente WaitGcpResourcesOp
in attesa del completamento del job di 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 ottimizza WaitGcpResourcesOp
per eseguirlo in modalità serverless e ha un costo zero.
Se DataflowPythonJobOp
e DataflowFlexTemplateJobOp
non soddisfano i tuoi
requisiti, puoi anche creare un tuo componente che genera il
parametro gcp_resources
e lo passa al componente WaitGcpResourcesOp
.
Per maggiori informazioni su come creare il parametro di output gcp_resources
, consulta
Scrivere un componente per visualizzare un link alla console Google Cloud.
Riferimento API
Per informazioni di riferimento sui componenti, consulta la documentazione di riferimento dell'SDK dei componenti della pipeline di Google Cloud per i componenti di Dataflow.
Per riferimenti alle risorse Dataflow, consulta le seguenti pagine di riferimento dell'API:
LaunchFlexTemplateParameter
risorsaJob
risorsa
Tutorial
- Inizia a utilizzare il componente del modello flessibile di Dataflow
- Inizia a utilizzare il componente Job Python di Dataflow
- Specificare una rete e una subnet
- Utilizzo delle chiavi di crittografia gestite dal cliente (CMEK)
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, scrivi all'indirizzo kubeflow-pipelines-components@google.com.