Orchestrer les charges de travail

Les tâches BigQuery font généralement partie de charges de travail plus importantes, avec des tâches externes qui déclenchent, puis sont déclenchées par des opérations BigQuery. L'orchestration des charges de travail aide les administrateurs de données, les analystes et les développeurs à organiser et à optimiser cette chaîne d'actions, créant ainsi une connexion fluide entre les ressources et les processus de données. Les méthodes et outils d'orchestration facilitent la conception, la compilation, la mise en œuvre et la surveillance de ces charges de travail de données complexes.

Choisir une méthode d'orchestration

Pour sélectionner une méthode d'orchestration, vous devez déterminer si vos charges de travail sont basées sur les événements, ou sur le temps ou les deux. Un événement est défini comme un changement d'état, comme une modification des données d'une base de données ou l'ajout d'un fichier à un système de stockage. Dans le cadre de l'orchestration basée sur les événements, une action sur un site Web peut déclencher une activité de données, ou l'arrivée d'objets dans un bucket donné peut nécessiter un traitement immédiat. Dans le cas d'une orchestration basée sur le temps, les nouvelles données peuvent nécessiter d'être chargées une fois par jour ou assez fréquemment pour produire des rapports horaires. Vous pouvez utiliser l'orchestration basée sur les événements et sur le temps dans les scénarios où vous devez charger des objets dans un lac de données en temps réel, mais les rapports d'activité sur le lac de données ne sont générés que quotidiennement.

Choisir un outil d'orchestration

Les outils d'orchestration facilitent les tâches liées à la gestion de charges de travail de données complexes, telles que la combinaison de plusieurs services Google Cloud ou tiers avec des jobs BigQuery, ou l'exécution de plusieurs jobs BigQuery en parallèle. Chaque charge de travail présente des exigences uniques en termes de gestion des dépendances et des paramètres. Cela permet de garantir que les tâches sont exécutées dans le bon ordre et avec des données correctes. Google Cloud propose plusieurs options d'orchestration basées sur la méthode d'orchestration et les exigences de la charge de travail.

Nous vous recommandons d'utiliser Dataform, Workflows, Cloud Composer ou Vertex AI Pipelines pour la plupart des cas d'utilisation. Consultez le graphique suivant pour obtenir un comparatif :

Dataform Workflows Cloud Composer Vertex AI Pipelines
Cible Transformation des données Microservices ETL ou ELT Machine learning
Complexité * ** *** **
Profil utilisateur Analyste ou administrateur de données Architecte de données Ingénieur de données Analyste de données
Type de code JavaScript et SQL YAML ou JSON Python Python
Une solution sans serveur ? Oui Oui Service entièrement géré Oui
Non adapté à Chaînes de services externes Transformation et traitement des données Pipelines à faible latence ou basés sur des événements Tâches liées à l'infrastructure

Les sections suivantes détaillent ces outils d'orchestration et plusieurs autres.

Requêtes programmées

La forme la plus simple d'orchestration de charge de travail consiste à planifier des requêtes récurrentes directement dans BigQuery. Bien qu'il s'agisse de l'approche la moins complexe d'orchestration, nous vous recommandons de ne l'utiliser que pour des chaînes de requête simples sans dépendances externes. Les requêtes planifiées de cette manière doivent être écrites en GoogleSQL et peuvent inclure le langage de définition de données (LDD) et les instructions de langage de manipulation de données (LMD).

Méthode d'orchestration : basée sur le temps

Dataform

Dataform est un framework de transformation avisée gratuit et basé sur SQL qui orchestre des tâches complexes de transformation de données dans BigQuery. Lorsque les données brutes sont chargées dans BigQuery, Dataform vous aide à créer une collection d'ensembles de données et de tables organisée, testée et dont les versions sont contrôlées. Pour en savoir plus sur l'utilisation de Dataform avec BigQuery, consultez la page Créer et exécuter un workflow SQL.

Méthode d'orchestration : basée sur des événements

Workflows

Workflows est un outil sans serveur qui orchestre les services basés sur HTTP avec une latence très faible. Il est adapté surtout à associer des microservices, automatiser des tâches d'infrastructure, intégrer des systèmes externes ou créer une séquence d'opérations dans Google Cloud. Pour en savoir plus sur l'utilisation de Workflows avec BigQuery, consultez la page Exécuter plusieurs jobs BigQuery en parallèle.

Méthode d'orchestration : basée sur les événements et basée sur le temps

Cloud Composer

Cloud Composer est un outil entièrement géré basé sur Apache Airflow. Il est adapté surtout à extraire, transformer, charger (ETL) ou extraire, charger, transformer (ELT), car il accepte plusieurs types et modèles d'opérateur, ainsi que l'exécution de tâches dans d'autres produits Google Cloud et des cibles externes. Pour en savoir plus sur l'utilisation de Cloud Composer avec BigQuery, consultez la page Exécuter un DAG d'analyse de données dans Google Cloud.

Méthode d'orchestration : basée sur le temps

Vertex AI Pipelines

Vertex AI Pipelines est un outil sans serveur basé sur Kubeflow Pipelines spécialement conçu pour orchestrer des charges de travail de machine learning. Il automatise et connecte toutes les tâches de développement et de déploiement de vos modèles, des données d'entraînement au code, en vous donnant un aperçu complet du fonctionnement de vos modèles. Pour en savoir plus sur l'utilisation de Vertex AI Pipelines avec BigQuery, consultez la page Exporter et déployer un modèle de machine learning BigQuery pour la prédiction.

Méthode d'orchestration : basée sur des événements

Apigee Integration

Apigee Integration est une extension de la plate-forme Apigee qui inclut des connecteurs et des outils de transformation de données. Elle est idéale pour l'intégration d'applications d'entreprise externes, telles que Salesforce. Pour en savoir plus sur l'utilisation d'Apigee Integration avec BigQuery, consultez la page Premiers pas avec Apigee Integration et un déclencheur Salesforce.

Méthode d'orchestration : basée sur les événements et basée sur le temps

Cloud Data Fusion

Cloud Data Fusion est un outil d'intégration de données qui propose des pipelines ELT/ETL sans code et plus de 150 connecteurs et transformations préconfigurés. Pour en savoir plus sur l'utilisation de Cloud Data Fusion avec BigQuery, consultez la page Répliquer des données de MySQL vers BigQuery.

Méthode d'orchestration : basée sur les événements et basée sur le temps

Cloud Scheduler

Cloud Scheduler est un planificateur entièrement géré pour des jobs tels que le streaming par lot ou les opérations d'infrastructure qui doivent se produire à des intervalles de temps définis. Pour en savoir plus sur l'utilisation de Cloud Scheduler avec BigQuery, consultez la page Planifier des workflows avec Cloud Scheduler.

Méthode d'orchestration : basée sur le temps

Cloud Tasks

Cloud Tasks est un service entièrement géré pour la distribution asynchrone des tâches de jobs pouvant s'exécuter indépendamment, en dehors de votre charge de travail principale. Il convient pour déléguer des opérations en arrière-plan lentes ou gérer les taux d'appels d'API. Pour en savoir plus sur l'utilisation de Cloud Tasks avec BigQuery, consultez la page Ajouter une tâche à une file d'attente Cloud Tasks.

Méthode d'orchestration : basée sur des événements

Outils tiers

Vous pouvez également vous connecter à BigQuery à l'aide d'un certain nombre d'outils tiers populaires tels que CData et SnapLogic. Le programme BigQuery Ready fournit la liste complète des solutions partenaires validées.

Outils de messagerie

De nombreuses charges de travail de données nécessitent des connexions de messagerie supplémentaires entre des microservices découplés qui ne doivent être activés que lorsque certains événements se produisent. Google Cloud fournit deux outils conçus pour s'intégrer à BigQuery.

Pub/Sub

Pub/Sub est un outil de messagerie asynchrone pour les pipelines d'intégration de données. Il est conçu pour ingérer et distribuer des données telles que des événements de serveur et des interactions des utilisateurs. Il peut également être utilisé pour le traitement en parallèle et le flux de données à partir d'appareils IoT. Pour en savoir plus sur l'utilisation de Pub/Sub avec BigQuery, consultez la page Diffuser des données en streaming depuis Pub/Sub vers BigQuery.

Eventarc

Eventarc est un outil basé sur les événements qui vous permet de gérer le flux des changements d'état dans votre pipeline de données. Cet outil couvre un large éventail de cas d'utilisation, y compris la correction automatique des erreurs, l'ajout d'étiquettes aux ressources, la retouche d'images, etc. Pour en savoir plus sur l'utilisation d'Eventarc avec BigQuery, consultez la page Créer un pipeline de traitement BigQuery avec Eventarc.

Étapes suivantes