Présentation de Dataflow

Dataflow est un service entièrement géré pour les pipelines de traitement de données par flux continu et par lot. Il permet de provisionner et de gérer automatiquement les ressources de calcul pour traiter vos données de manière cohérente, fiable et en une seule fois. Dataflow est compatible avec de nombreux cas d'utilisation de traitement de données tels que l'analyse de flux, l'IA en temps réel, le traitement des données de capteurs et de journaux, ainsi que d'autres workflows impliquant la transformation des données.

Créer un pipeline ou utiliser un modèle

Pour créer un pipeline de données pour Dataflow, vous devez utiliser Apache Beam, un modèle unifié Open Source permettant de définir des pipelines de traitement de données par lot et par flux. Le modèle de programmation Apache Beam simplifie la mécanique de traitement de données en parallèle à grande échelle. À l'aide de l'un des SDK Apache Beam, vous créez un programme qui définit votre pipeline. Vous exécutez ensuite le pipeline sur Dataflow.

Le modèle Apache Beam fournit des abstractions utiles qui vous isolent des détails de bas niveau du traitement distribué, tels que la coordination des nœuds de calcul et la partition des ensembles de données. Dataflow gère entièrement ces détails de bas niveau. Cela vous permet de vous concentrer sur la construction logique de votre job de traitement de données plutôt que sur l'orchestration physique du traitement parallèle. Vous pouvez vous concentrer sur ce que votre job doit accomplir plutôt que sur les détails de son exécution.

Si vous ne souhaitez pas créer votre propre pipeline, vous pouvez utiliser l'un des modèles Dataflow fournis par Google. Ces modèles définissent des transformations de données courantes, telles que la lecture de flux de données depuis Pub/Sub et leur écriture dans Cloud Storage, ou la lecture de flux de données à partir d'Apache Kafka et leur écriture dans BigQuery. Vous pouvez également créer vos propres modèles Dataflow personnalisés pour partager vos pipelines au sein d'une équipe ou d'une organisation.

Les modèles Dataflow vous permettent d'empaqueter un pipeline Dataflow pour le déploiement. Toute personne disposant des autorisations appropriées peut ensuite utiliser le modèle pour déployer un pipeline. Les modèles séparent la conception du pipeline de son déploiement. Par exemple, un développeur peut créer un modèle et un data scientist peut le déployer ultérieurement, en utilisant des paramètres pour personnaliser le job au moment de l'exécution.

Fonctionnalités de Cloud Dataflow

Dataflow propose de nombreuses fonctionnalités pour vous aider à exécuter des pipelines de données sécurisés, fiables et économiques à grande échelle. Cette section décrit certaines des opérations que vous pouvez effectuer avec Dataflow.

Effectuer un scaling horizontal à l'aide de l'autoscaling horizontal

Lorsque l'autoscaling horizontal est activé, Dataflow choisit automatiquement le nombre approprié d'instances de nœuds de calcul requises pour exécuter votre job. Dataflow peut également réaffecter de manière dynamique plus ou moins de nœuds de calcul pendant l'exécution, en fonction des caractéristiques de votre job.

Effectuer un scaling à la hausse avec l'autoscaling vertical

L'autoscaling vertical permet à Dataflow d'effectuer un scaling à la hausse ou à la baisse de la mémoire disponible pour les nœuds de calcul, de manière dynamique en fonction des exigences du job. Il est conçu pour rendre les jobs résilients aux erreurs de mémoire insuffisante et optimiser l'efficacité du pipeline. Dataflow surveille votre pipeline, détecte les situations où les nœuds de calcul manquent ou dépassent la mémoire disponible, puis les remplace par de nouveaux nœuds de calcul disposant de plus ou de moins de mémoire.

Exécuter des pipelines sans serveur

Vous pouvez exécuter un pipeline sans serveur à l'aide de Dataflow Prime. Dataflow Prime est une plate-forme de traitement des données sans serveur basée sur Dataflow. Elle utilise une architecture de calcul séparée par des états, et inclut des fonctionnalités conçues pour améliorer l'efficacité et la productivité. Les pipelines qui utilisent Dataflow Prime bénéficient de fonctionnalités de gestion des ressources automatisées et optimisées, de réduction des coûts opérationnels et de diagnostic amélioré.

Optimiser les ressources par étape de pipeline

L'adaptation des ressources de Dataflow Prime crée des pools de ressources spécifiques aux étapes, qui sont optimisés pour chaque étape du pipeline afin de réduire le gaspillage de ressources.

Surveiller les jobs

Utilisez l'interface de surveillance pour afficher les jobs Dataflow et interagir avec eux. L'interface de surveillance affiche la liste de vos jobs Dataflow, une représentation graphique de chaque pipeline, des détails sur l'état de chaque job, des liens vers des informations sur les services Google Cloud exécutant votre pipeline, les erreurs ou avertissements survenant pendant un job, ainsi que des diagnostics et des métriques supplémentaires.

Visualiser les performances des jobs

L'onglet Détails d'exécution de la console Dataflow, Visualiseur de tâches, vous permet d'afficher les métriques de performances d'un job Dataflow et d'optimiser les performances de ce job en recherchant le code inefficace, y compris les goulots d'étranglement de parallélisation. Vous pouvez également consulter la liste des phases associées à chaque étape du pipeline.

Séparer les ressources de streaming du stockage

Streaming Engine sépare le calcul du stockage d'état pour les pipelines de streaming. Il déplace une partie de l'exécution des pipelines vers Dataflow pour les extraire des VM de nœud de calcul, ce qui améliore considérablement l'autoscaling et la latence des données.

Brasser les données de manière efficace

Dataflow Shuffle déplace l'opération de brassage, utilisée pour regrouper ou associer des données, hors des VM de nœud de calcul et vers Dataflow pour les pipelines par lot. Ces pipelines par lot passent facilement à une capacité mesurée en centaines de téraoctets sans nécessiter un quelconque ajustement.

Réduire les coûts de traitement par lot

La planification flexible des ressources (FlexRS) permet de réduire les coûts de traitement par lot grâce à l'utilisation de techniques de planification avancées, du service Dataflow Shuffle et d'une combinaison d'instances de VM préemptives et de VM standard.

Exécuter des pipelines à partir de notebooks

Créez des pipelines de manière itérative en partant de zéro avec des notebooks Vertex AI, puis exécutez les jobs sur Dataflow. Vous pouvez créer des pipelines Apache Beam étape par étape en inspectant les graphiques de pipeline dans un workflow REPL (read-eval-print-loop). En utilisant notebooks, vous pouvez écrire des pipelines dans un environnement intuitif avec les frameworks les plus récents de science des données et de machine learning.

Profiter des recommandations intelligentes

Optimisez les pipelines en fonction de recommandations basées sur le machine learning. Les recommandations peuvent vous aider à améliorer les performances des jobs, à réduire les coûts et à résoudre les erreurs.

Protéger les pipelines avec des clés de chiffrement gérées par le client

Une clé de chiffrement gérée par le client (CMEK, Customer-Managed Encryption Key) permet de chiffrer les données au repos avec une clé contrôlable via Cloud KMS. Vous pouvez créer un pipeline de traitement par lot ou par flux qui est protégé par une clé CMEK, et vous pouvez accéder aux données protégées par la clé CMEK dans les sources et les récepteurs.

Spécifier des réseaux et des sous-réseaux

L'intégration de Dataflow avec VPC Service Controls renforce votre capacité à limiter le risque d'exfiltration de données, offrant ainsi à votre environnement de traitement de données un niveau de sécurité supplémentaire. Vous pouvez spécifier un réseau ou un sous-réseau, ou les deux options lorsque vous exécutez des jobs Dataflow.

Configurer des adresses IP privées

La désactivation des adresses IP publiques vous permet de mieux sécuriser votre infrastructure de traitement de données. En n'utilisant aucune adresse IP publique pour vos nœuds de calcul Dataflow, vous réduisez par la même occasion le nombre d'adresses IP publiques utilisées par rapport au quota attribué à votre projet Google Cloud.

Commencer

Pour commencer à utiliser Dataflow, essayez l'un des guides de démarrage rapide suivants :