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 include i seguenti operatori per creare risorse Job e monitorarne l'esecuzione:
Inoltre, l'SDK Google Cloud include il componente
WaitGcpResourcesOp,
che puoi utilizzare per ridurre i costi durante l'esecuzione
dei job Dataflow.
DataflowFlexTemplateJobOp
L'operatore DataflowFlexTemplateJobOp consente di creare un componente di pipeline di Gemini Enterprise Agent Platform per lanciare un template flessibile di Dataflow.
In Dataflow, una risorsa LaunchFlexTemplateParameter rappresenta un template flessibile da avviare. Questo componente crea una risorsa LaunchFlexTemplateParameter, quindi richiede a Dataflow di creare un job avviando il template. Se il modello viene avviato correttamente, Dataflow restituisce una risorsa Job.
Il componente del template flessibile di Dataflow termina quando riceve una risorsa Job da Dataflow. Il componente restituisce 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 consente di creare un componente delle pipeline di Gemini Enterprise Agent Platform che prepara i dati inviando un job Apache Beam basato su Python a Dataflow per l'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 al codice Apache Beam utilizzando il runner 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, le chiavi di crittografia gestite dal cliente (CMEK) e altre opzioni quando esegui i job Dataflow.
WaitGcpResourcesOp
Il completamento dei job Dataflow spesso può richiedere molto tempo. I costi di un container busy-wait (il container 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 termina 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"] )
Le pipeline di Gemini Enterprise Agent Platform ottimizzano il WaitGcpResourcesOp per eseguirlo in modalità serverless e non hanno costi.
Se DataflowPythonJobOp e DataflowFlexTemplateJobOp non soddisfano i tuoi requisiti, puoi anche creare un componente personalizzato che restituisce il parametro gcp_resources e lo passa al componente WaitGcpResourcesOp.
Per saperne di più su come creare il parametro di output gcp_resources, consulta
Scrivi un componente per mostrare un link alla console Google Cloud .
Riferimento API
Per un riferimento ai componenti, consulta il riferimento all'SDKGoogle Cloud per i componenti Dataflow.
Per il riferimento alle risorse Dataflow, consulta le seguenti pagine di riferimento API:
Risorsa
LaunchFlexTemplateParameterRisorsa
Job
Tutorial
- Inizia a utilizzare il componente del template flessibile di Dataflow
- Inizia a utilizzare il componente Dataflow Python Job
- 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'SDKGoogle Cloud Pipeline Components.
Contatti dell'assistenza tecnica
In caso di domande, contatta kubeflow-pipelines-components@google.com.