I componenti Dataflow ti consentono di inviare job Apache Beam a Dataflow per l'esecuzione. In Dataflow, una risorsa Job
rappresenta un job Dataflow.
L'SDK Google Cloud Pipeline Components include i seguenti operatori per creare risorse Job
e monitorarne l'esecuzione:
Inoltre, l'SDK Google Cloud Pipeline Components include il componente
WaitGcpResourcesOp
, che puoi utilizzare per ridurre i costi durante l'esecuzione
di 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 avviare. Questo componente crea una risorsa LaunchFlexTemplateParameter
e poi richiede a Dataflow di creare un job avviando il modello. Se il modello viene avviato correttamente, Dataflow restituisce una risorsa Job
.
Il componente del modello flessibile Dataflow termina al ricevimento di una risorsa Job
da Dataflow. Il componente genera un job_id
come
proto gcp_resources
serializzato. Puoi passare questo parametro a un componente WaitGcpResourcesOp
per attendere il completamento del job Dataflow.
DataflowPythonJobOp
L'operatore DataflowPythonJobOp
ti consente di creare un componente Vertex AI Pipelines che prepara
i dati inviando un job Apache Beam basato su Python a Dataflow per
la sua 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 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 scoprire di più su Dataflow Runner, consulta Utilizzo di Dataflow Runner.
Il componente Python di Dataflow accetta un elenco di argomenti
che vengono passati utilizzando il programma di esecuzione 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 da specificare una rete, una sottorete, una chiave di crittografia gestita dal cliente (CMEK) e altre opzioni quando esegui job Dataflow.
WaitGcpResourcesOp
I job Dataflow possono spesso richiedere molto tempo per essere completati. I costi di un contenitore busy-wait
(il contenitore che avvia il job Dataflow e attende il risultato) possono diventare elevati.
Dopo aver inviato il job Dataflow utilizzando il runner Beam,
il componente DataflowPythonJobOp
si arresta immediatamente e restituisce un parametro di output job_id
come
proto gcp_resources
serializzato. Puoi passare questo parametro a un componente WaitGcpResourcesOp
per attendere il completamento del job 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 il WaitGcpResourcesOp
per eseguirlo in modo
serverless e non ha costi.
Se DataflowPythonJobOp
e DataflowFlexTemplateJobOp
non soddisfano i tuoi requisiti, puoi anche creare un componente personalizzato che esegua l'output del parametro gcp_resources
e lo passi al componente WaitGcpResourcesOp
.
Per ulteriori informazioni su come creare il parametro di output gcp_resources
, consulta
Scrivere un componente per mostrare un link alla console Google Cloud.
Riferimento API
Per il riferimento ai componenti, consulta il riferimento all'SDK Google Cloud Pipeline Components per i componenti Dataflow.
Per il riferimento alle risorse Dataflow, consulta le seguenti pagine di riferimento dell'API:
Risorsa
LaunchFlexTemplateParameter
Risorsa
Job
Tutorial
- Iniziare a utilizzare il componente del modello flessibile Dataflow
- Iniziare a utilizzare il componente Job Python di Dataflow
- Specifica una rete e una subnet
- Utilizzo delle chiavi di crittografia gestite dal cliente (CMEK)
Cronologia delle versioni e note di rilascio
Per scoprire di più sulla cronologia delle versioni e sulle modifiche all'SDK Google Cloud Pipeline Components, consulta le note di rilascio dell'SDK Google Cloud Pipeline Components.
Contatti dell'assistenza tecnica
Per qualsiasi domanda, scrivi all'indirizzo kubeflow-pipelines-components@google.com.