Les composants de Dataflow vous permettent d'envoyer des jobs Apache Beam à Dataflow pour exécution. Dans Dataflow, une ressource Job
représente un job Dataflow.
Le SDK des composants du pipeline Google Cloud contient les opérateurs suivants permettant de créer des ressources Job
et surveiller leur exécution :
De plus, le SDK des composants du pipeline Google Cloud inclut le composant WaitGcpResourcesOp
, que vous pouvez utiliser pour limiter les coûts lors de l'exécution de jobs Dataflow.
DataflowFlexTemplateJobOp
L'opérateur DataflowFlexTemplateJobOp
vous permet de créer un composant Vertex AI Pipelines pour lancer un modèle Flex Dataflow.
Dans Dataflow, une ressource LaunchFlexTemplateParameter
représente un modèle Flex à lancer. Ce composant crée une ressource LaunchFlexTemplateParameter
, puis demande à Dataflow de créer un job en lançant le modèle. Si le lancement du modèle aboutit, Dataflow renvoie une ressource Job
.
Le composant modèle Flex Dataflow s'arrête lorsqu'il reçoit une ressource Job
de Dataflow. Le composant génère un job_id
en tant que proto gcp_resources
sérialisé. Vous pouvez transmettre ce paramètre à un composant WaitGcpResourcesOp
pour attendre la fin du job Dataflow.
DataflowPythonJobOp
L'opérateur DataflowPythonJobOp
vous permet de créer un composant Vertex AI Pipelines qui prépare les données en envoyant un job Apache Beam basé sur Python à Dataflow pour exécution.
Le code Python de la tâche Apache Beam s'exécute avec Dataflow Runner.
Lorsque vous exécutez votre pipeline avec le service Dataflow, l'exécuteur importe votre code exécutable à l'emplacement spécifié par le paramètre python_module_path
et les dépendances dans un bucket Cloud Storage (spécifié par temp_location
), puis crée un job Dataflow qui exécute votre pipeline Apache Beam sur des ressources gérées dans Google Cloud.
Pour en savoir plus sur l'exécuteur Dataflow, consultez la section Utiliser l'exécuteur Dataflow.
Le composant Python de Dataflow accepte une liste d'arguments transmis à l'aide de l'exécuteur Beam à votre code Apache Beam. Ces arguments sont spécifiés par args
. Par exemple, vous pouvez utiliser ces arguments pour définir le paramètre apache_beam.options.pipeline_options
de façon à spécifier un réseau, un sous-réseau, une clé de chiffrement gérée par le client (CMEK) et d'autres options lorsque vous exécutez des tâches Dataflow.
WaitGcpResourcesOp
Les tâches Dataflow peuvent souvent prendre beaucoup de temps. Les coûts d'un conteneur busy-wait
(le conteneur qui lance la tâche Dataflow et attend le résultat) peuvent s'avérer coûteux.
Après avoir envoyé le job Dataflow à l'aide de l'exécuteur Beam, le composant DataflowPythonJobOp
s'arrête immédiatement et renvoie un paramètre de sortie job_id
en tant que proto gcp_resources
sérialisé. Vous pouvez transmettre ce paramètre à un composant WaitGcpResourcesOp
pour attendre la fin du 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 optimise WaitGcpResourcesOp
pour l'exécuter en mode sans serveur et sans entraîner aucun coût.
Si DataflowPythonJobOp
et DataflowFlexTemplateJobOp
ne répondent pas à vos exigences, vous pouvez également créer votre propre composant qui génère le paramètre gcp_resources
et le transmet au composant WaitGcpResourcesOp
.
Pour en savoir plus sur la création d'un paramètre de sortie gcp_resources
, consultez la section Écrire un composant pour afficher un lien à la console Google Cloud.
Documentation de référence sur l'API
Pour en savoir plus sur les composants, consultez la documentation de référence du SDK des composants du pipeline Google Cloud pour les composants Dataflow.
Pour en savoir plus sur les ressources Dataflow, consultez les pages de documentation de référence de l'API suivantes :
Ressource
LaunchFlexTemplateParameter
Ressource
Job
Tutoriels
- Premiers pas avec le composant modèle Flex Dataflow
- Premiers pas avec le composant du job Python Dataflow
- Spécifier un réseau et un sous-réseau
- Utiliser des clés de chiffrement gérées par le client (CMEK)
Historique des versions et notes de version
Pour en savoir plus sur l'historique des versions et les modifications apportées au SDK des composants du pipeline Google Cloud, consultez les notes de version du SDK des composants du pipeline Google Cloud.
Contacts pour l'assistance technique
Si vous avez des questions, veuillez nous contacter à l'adresse kubeflow-pipelines-components@google.com.