Qu'est-ce que Cloud Data Fusion ?

Cloud Data Fusion est un service cloud natif entièrement géré d'intégration de données d'entreprise qui permet de créer et gérer rapidement des pipelines de données.

L'interface utilisateur Web de Cloud Data Fusion vous permet de créer des solutions d'intégration de données évolutives pour nettoyer, préparer, fusionner, transférer et transformer des données, sans avoir à gérer l'infrastructure.

Cloud Data Fusion s'appuie sur le projet Open Source CDAP. Tout au long de cette page, différents liens vers le site de documentation de CDAP vous permettront de trouver des informations plus détaillées.

Interfaces

Pour utiliser Cloud Data Fusion, vous pouvez utiliser l'interface utilisateur Web visuelle ou les outils de ligne de commande.

Utiliser l'interface utilisateur Web sans code

Lorsque vous utilisez Cloud Data Fusion, vous utilisez à la fois Cloud Console et l'interface utilisateur Web distincte Cloud Data Fusion.

  • Dans Google Cloud Console, vous créez un projet Google Cloud, créez et supprimez des instances Cloud Data Fusion (déploiements uniques de Cloud Data Fusion) et affichez les détails des instances Cloud Data Fusion.

  • Dans l'interface utilisateur de Cloud Data Fusion, vous utilisez les différentes pages, telles que Pipeline Studio ou Wrangler, pour concevoir visuellement des pipelines de données et utiliser Cloud Data Fusion. .

En règle générale, vous procédez comme suit :

  1. Créez une instance Cloud Data Fusion dans Google Cloud Console.

  2. Recherchez votre instance Cloud Data Fusion sur la page Instances de Cloud Console, puis cliquez sur le lien Afficher l'instance dans la colonne Action. ... L'interface utilisateur de Cloud Data Fusion s'ouvre alors dans un nouvel onglet du navigateur.

  3. Utilisez les différentes pages de l'interface utilisateur Web de Cloud Data Fusion pour concevoir visuellement vos pipelines et gérer les métadonnées.

Utiliser les outils de ligne de commande

Comme alternative à l'interface utilisateur Web, vous pouvez utiliser des outils de ligne de commande pour créer et gérer vos instances et pipelines Cloud Data Fusion.

Concepts fondamentaux

Cette section présente quelques concepts fondamentaux de Cloud Data Fusion. Certaines sections contiennent des liens vers la documentation CDAP, où vous pourrez en apprendre plus sur chaque concept, de façon plus détaillée.

Instance Cloud Data Fusion

Une instance Cloud Data Fusion est un déploiement unique de Cloud Data Fusion. Pour commencer à utiliser Cloud Data Fusion, vous devez créer une instance Cloud Data Fusion via Cloud Console.

Vous pouvez créer plusieurs instances dans un même projet Cloud Console et spécifier la région Google Cloud dans laquelle créer vos instances Cloud Data Fusion.

En fonction des exigences et des contraintes de coûts, vous pouvez créer une instance Developer, Basic ou Enterprise.

Chaque instance Cloud Data Fusion contient un déploiement Cloud Data Fusion unique et indépendant contenant un ensemble de services qui gèrent le cycle de vie, l'orchestration, la coordination et la gestion des métadonnées du pipeline. Ces services s'exécutent à l'aide de ressources de longue durée dans un projet locataire.

Environnement d'exécution

Cloud Data Fusion crée des environnements d'exécution éphémères pour exécuter des pipelines lorsque vous les utilisez manuellement ou lorsqu'ils s'exécutent en fonction d'un calendrier ou d'un déclencheur d'état. Cloud Data Fusion est compatible avec l'environnement d'exécution Dataproc, dans lequel vous pouvez choisir d'exécuter des pipelines en tant que programmes MapReduce, Spark ou Spark Streaming. Cloud Data Fusion provisionne un cluster Dataproc éphémère dans votre projet client au début de l'exécution du pipeline, l'exécute avec MapReduce ou Spark, puis le supprime une fois son exécution terminée.

Par ailleurs, si vous gérez vos clusters Dataproc dans des environnements contrôlés, grâce à des technologies telles que Terraform, vous pouvez également configurer Cloud Data Fusion pour ne pas provisionner les clusters. Dans de tels environnements, vous pouvez exécuter des pipelines sur des clusters Dataproc existants.

Autoscaling

Pour plus d'informations sur la configuration et l'utilisation de l'autoscaling Dataproc pour redimensionner automatiquement et dynamiquement les clusters afin de répondre aux exigences de la charge de travail, consultez le guide sur l'autoscaling des clusters.

Recommandé:Utilisez des règles d'autoscaling pour augmenter la taille du cluster, et non pour la réduire. La réduction de la taille du cluster avec autoscaling supprime les nœuds contenant des données intermédiaires, ce qui peut entraîner un ralentissement ou une défaillance de vos pipelines.

Pipeline

Un pipeline est un moyen de concevoir visuellement des données et de contrôler des flux afin d'extraire, de transformer, de fusionner, d'agréger et de charger des données à partir de diverses sources de données sur site et dans le cloud. La création de pipelines vous permet de créer des workflows de traitement de données complexes qui peuvent vous aider à résoudre les problèmes d'ingestion, d'intégration et de migration des données. Vous pouvez utiliser Cloud Data Fusion pour créer des pipelines par lot et en temps réel, en fonction de vos besoins.

Les pipelines vous permettent de représenter vos workflows de traitement de données à l'aide du flux logique de données, tandis que Cloud Data Fusion gère toutes les fonctionnalités requises pour s'exécuter physiquement dans un environnement d'exécution. Le planificateur Cloud Data Fusion transforme le flux logique en calculs parallèles à l'aide d'Apache Spark et d'Apache Hadoop MapReduce sur Dataproc.

Nœud de pipeline

Sur la page Studio de l'interface utilisateur de Cloud Data Fusion, les pipelines sont représentés par une série de nœuds organisés dans un graphe orienté acyclique (DAG), formant un flux à sens unique. Les nœuds représentent les différentes actions que vous pouvez effectuer avec vos pipelines, comme lire à partir de sources, effectuer des transformations de données et écrire des résultats dans des récepteurs. Vous pouvez développer des pipelines de données dans l'interface utilisateur de Cloud Data Fusion en connectant entre eux des sources, des transformations, des récepteurs et d'autres nœuds.

En outre, en fournissant un accès aux journaux et aux métriques, les pipelines permettent également aux administrateurs d'opérationnaliser leurs workflows de traitement des données sans qu'ils n'aient besoin d'outils personnalisés.

Pour en savoir plus sur les pipelines, consultez le site de documentation de CDAP.

Tâche de réplication

La réplication vous permet de répliquer vos données en continu et en temps réel depuis des datastores opérationnels tels que SQL Server et MySQL vers BigQuery.

Pour plus d'informations, consultez la page Tâche de réplication.

Déclenchement

Vous pouvez créer un déclencheur sur un pipeline de données (appelé pipeline en amont), pour qu'il s'exécute après un ou plusieurs pipelines différents (appelés pipelines en aval). Vous choisissez le moment d'exécution du pipeline en aval, en cas de réussite, d'échec, d'arrêt ou de toute combinaison des deux opérations.

Les déclencheurs sont utiles pour:

  • Nettoyer vos données une fois et les mettre à la disposition de plusieurs pipelines en aval.
  • Partager des informations, telles que des arguments d'exécution et des configurations de plug-ins, entre pipelines. C'est ce qu'on appelle la configuration de la charge utile.
  • Disposer d'un ensemble de pipelines dynamiques pouvant s'exécuter avec les données à l'heure, au jour, à la semaine et au mois, par opposition à un pipeline statique qui doit être mis à jour à chaque exécution.

Plug-in

Un plug-in est un module personnalisable qui peut être utilisé pour étendre les fonctionnalités de Cloud Data Fusion. Cloud Data Fusion fournit des plug-ins pour les sources, les transformations, les agrégats, les récepteurs, les collecteurs d'erreurs, les éditeurs d'alerte, les actions et les actions post-exécution.

Un plug-in est parfois appelé nœud, généralement dans le contexte de l'interface utilisateur Web de Cloud Data Fusion.

Le tableau suivant décrit les différentes catégories de plug-ins disponibles dans Cloud Data Fusion.

Catégorie Description
Sources Les sources sont des connecteurs vers des bases de données, des fichiers ou des flux en temps réel à partir desquels vous obtenez vos données. Ils vous permettent d'ingérer des données à l'aide d'une interface utilisateur simple, de sorte que vous n'ayez pas à vous soucier de coder des connexions de bas niveau.
Transformations Les transformations vous permettent de manipuler des données après leur ingestion. Par exemple, vous pouvez cloner un enregistrement, mettre en forme les données JSON et même créer des transformations personnalisées à l'aide du plug-in JavaScript.
Analyse Les plug-ins d'analyse sont utilisés pour effectuer des agrégations telles que le regroupement et l'association de données issues de différentes sources, ainsi que l'exécution d'opérations d'analyse et de machine learning. Cloud Data Fusion fournit des plug-ins intégrés pour divers cas d'utilisation.
Actions Les plug-ins d'action définissent des actions personnalisées planifiées pour se dérouler pendant un workflow, mais qui ne manipulent pas directement les données qu'il contient. Par exemple, en utilisant l'action personnalisée "Base de données", vous pouvez exécuter une commande de base de données arbitraire à la fin de votre pipeline. Vous pouvez également déclencher une action pour déplacer des fichiers dans Cloud Storage.
Récepteurs Les données doivent être écrites sur un récepteur. Cloud Data Fusion contient divers récepteurs, tels que Cloud Storage, BigQuery, Spanner, des bases de données relationnelles, des systèmes de fichiers et des mainframes.
Collecteurs d'erreurs Lorsque les nœuds rencontrent des valeurs "Nul", des erreurs logiques ou d'autres sources d'erreurs, vous pouvez utiliser un plug-in collecteur d'erreur pour détecter les erreurs. Vous pouvez connecter ce plug-in à la sortie d'un plug-in de transformation ou d'analyse, et il détectera les erreurs correspondant à une condition que vous définissez. Vous pouvez ensuite traiter ces erreurs dans un flux de traitement d'erreur distinct dans votre pipeline.
Éditeurs d'alertes Les plug-ins d'éditeur d'alertes vous permettent de publier des notifications lorsque des événements inhabituels se produisent. Les processus en aval peuvent ensuite s'abonner à ces notifications afin de déclencher un traitement personnalisé pour ces alertes.
Expressions conditionnelles Les pipelines offrent des plug-ins de flux de contrôle sous la forme de conditions. Les plug-ins de condition vous permettent de diviser votre pipeline en deux chemins d'accès distincts, selon que le prédicat de condition spécifié prend la valeur "true" ou "false".

Si vous avez besoin d'un plug-in qui n'est pas fourni, vous pouvez développer un plug-in personnalisé vous-même.

AVERTISSEMENT: L'installation d'un plug-in non approuvé n'est pas recommandée, car elle peut présenter un risque pour la sécurité.

Profil de calcul

Un profil de calcul spécifie comment et où un pipeline est exécuté. Un profil encapsule toutes les informations requises pour configurer et supprimer l'environnement d'exécution physique du pipeline. Par exemple, un profil inclut le type de fournisseur cloud (tel que Google Cloud), le service à utiliser sur le fournisseur cloud (tel que Dataproc), les identifiants, les ressources (mémoire et processeur), l'image, le nombre minimal et maximal de nœuds, ainsi que d'autres valeurs.

Un profil est identifié par son nom et doit être affecté à un approvisionneur ainsi qu'à la configuration associée. Un profil peut exister au niveau de l'instance Cloud Data Fusion ou au niveau de l'espace de noms.

Pour en savoir plus sur les profils, consultez le site de documentation de CDAP.

Caractéristiques

Catégorie Fonctionnalités
Développement
  • Concepteur graphique de pipeline
  • Plus de 100 plug-ins (connecteurs, transformations et actions)
  • Transformations visuelles sans code
  • Plus de 1 000 transformations intégrées
  • Bibliothèques de qualité de données
  • SDK de développeur
Test
  • Débogage visuel du pipeline
  • Framework de test
Exécution
  • Dataproc, par lot (Apache Spark, Apache Hadoop MapReduce) et en temps réel (Spark Streaming)
  • Flux de contrôle et flux de données dans les pipelines
Opérations
  • API REST
  • Calendriers et déclencheurs
  • Tableaux de bord de surveillance
Métadonnées d'intégration
  • Collecte automatique de métadonnées techniques et opérationnelles
  • Annotations de métadonnées professionnelles
  • Recherche d'ensembles de données par mots clés et schéma
  • Traçabilité au niveau des ensembles de données et des champs
Extensibilité
  • Plug-ins personnalisés
  • Widgets d'interface utilisateur configurables
  • Approvisionneurs personnalisés
  • Profils de calcul personnalisés
Réutilisation
  • Pipeline et modèles de plug-ins
  • Arguments d'exécution et préférences
  • Hub pour la distribution de plug-ins, pipelines et solutions réutilisables
Intégrations Google Cloud
  • GKE – Déploiement d'instance
  • Dataproc – Exécution du pipeline (par lot et en temps réel)
  • Cloud KMS – Stockage de données sécurisé
  • Cloud SQL et Cloud Storage – Stockage de métadonnées d'entités et d'artefacts
  • Disque persistant – Stockage de journaux et de métriques
  • Cloud Console – Gestion du cycle de vie des instances
  • Suite Google Cloud Operations (journaux d'audit uniquement)
Connecteurs (Google Cloud)
  • Cloud Storage
  • Google BigQuery
  • Cloud SQL
  • Pub/Sub
  • Spanner
  • Bigtable
  • Datastore
Connecteurs (autres que Google Cloud)
  • Services de cloud public
  • Systèmes de fichiers
  • Bases de données relationnelles
  • Magasins NoSQL
  • Mainframes et autres anciens systèmes
Transformations
  • Transformations sans code pour le nettoyage, la fusion, l'harmonisation et la mise en correspondance
  • Transformations interactives avec commentaires
  • Transformations basées sur le code (dans le navigateur) – Scala (Apache Spark), Python et JavaScript
  • Tâches Spark et MapReduce actuelles
Analyse
  • Agrégations
  • Jointures
  • Grouper par

Étape suivante