DataflowPythonJobOp
consente di creare un componente Vertex AI Pipelines che prepara i dati inviando un job Apache Beam scritto in
Python a Dataflow per l'esecuzione.
Il codice Python Beam viene eseguito con Dataflow Runner. Quando esegui la pipeline con il servizio Dataflow, il runner carica il parametro e le dipendenze eseguibili del codice (specificato da python_module_path
) in un bucket Cloud Storage (specificato da temp_location
) e crea un job Dataflow che esegue la pipeline Apache Beam sulle risorse gestite in Google Cloud.
Per saperne di più su Dataflow Runner, consulta Utilizzo di Dataflow Runner.
Il componente Python Python accetta un elenco di argomenti passati tramite il esecutore di travi al tuo codice Apache Beam. Questi argomenti sono specificati da args
. Ad esempio, puoi utilizzare questi argomenti per impostare apache_beam.options.pipeline_options
per specificare una rete, una subnet, una chiave di crittografia gestita dal cliente (CMEK) e altre opzioni quando esegui i job Dataflow.
WaitGcpResourcesOp
I job Dataflow possono spesso richiedere molto tempo per essere completati. I costi di un container busy-wait
, ovvero il container che avvia il job Dataflow e in attesa del risultato, possono diventare costosi.
Invece, dopo aver inviato il job Dataflow tramite il runner Beam,
il componente DataflowPythonJobOp
terminerà immediatamente. Un elemento job_id
viene
restituito dal componente come
protocollo gcp_resources
serializzato. Questo output può essere passato a un componente WaitGcpResourcesOp
in attesa del 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 WaitGcpResourcesOp
per eseguirlo in modo serverless e non ha costi.
Se DataflowPythonJobOp
non soddisfa i tuoi requisiti (ad esempio, se devi pre-elaborare prima di chiamare Beam Runner o usi un linguaggio diverso, come Beam Java), puoi anche creare il tuo componente che restituisce il parametro gcp_resources
per sfruttare il componente WaitGcpResourcesOp
.
Per informazioni dettagliate su come creare il parametro di output gcp_resources
, vedi Scrivere un componente per mostrare un link di Google Cloud Console.
Riferimento API
Per maggiori dettagli sul componente, consulta il riferimento SDK di google_cloud_pipeline_components
.
Tutorial
- Guida introduttiva ai componenti delle pipeline di Dataflow
- Specificare una rete e una subnet
- Utilizzo delle chiavi di crittografia gestite dal cliente (CMEK)
Cronologia delle versioni e log delle modifiche
In data | Versione | Note |
---|---|---|
03/2022 | Versione 1.0 del CPCO | Versione 1.0 dei componenti. |
2/2022 | CPCO v0.3 | Nuova versione sperimentale dei componenti. |
2/21 | Versione 0.2 del CPCO | Rilascio sperimentale dei componenti. |
Contatti dell'assistenza tecnica
In caso di domande, contatta kubeflow-pipelines-components@google.com.