Orchestrer des 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, en créant une connexion fluide entre les ressources et les processus de données. Les méthodes et outils d'orchestration permettent de concevoir, créer, mettre en œuvre et surveiller 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 de gestion de charges de travail de données complexes, telles que la combinaison de plusieurs services Google Cloud ou tiers avec des tâches BigQuery, ou l'exécution de plusieurs tâches BigQuery en parallèle. Chaque charge de travail a des exigences uniques en matière de dépendance et de gestion des paramètres pour garantir que les tâches sont exécutées dans le bon ordre en utilisant les bonnes données. Google Cloud propose plusieurs options d'orchestration basées sur les méthodes d'orchestration et les exigences de charge de travail.

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

Dataform Workflows Cloud Composer Vertex AI Pipelines
Attention Data transformation Microservices ETL ou ELT Machine learning
Complexité * **. *** **.
Profil utilisateur Analyste de données ou administrateur 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 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 d'infrastructure

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

Scheduled queries

La forme la plus simple d'orchestration de la 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 (preview) est un framework de transformation 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é conçu à partir d'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 programmeur entièrement géré pour les tâches, telles que le traitement par lot ou l'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é permettant de distribuer des tâches asynchrones pouvant s'exécuter indépendamment de votre charge de travail principale. Il est préférable de déléguer les opérations lentes en arrière-plan ou de gérer les taux d'appel 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 offre une 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 les microservices découplés qui ne doivent être activées 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. Ce service est conçu pour ingérer et distribuer des données telles que les événements de serveur et les interactions utilisateur. 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 depuis Pub/Sub vers BigQuery.

Eventarc

Eventarc est un outil basé sur des événements qui vous permet de gérer le flux de changements d'état dans votre pipeline de données. Cet outil couvre de nombreux cas d'utilisation, tels que la résolution automatique des erreurs, l'étiquetage de ressources, la restauration d'images et bien plus encore. Pour en savoir plus sur l'utilisation d'Eventarc avec BigQuery, consultez la section Créer un pipeline de traitement BigQuery avec Eventarc.

Étapes suivantes