Configuration du Openflow Connector for Google BigQuery¶
Note
Ce connecteur est soumis aux conditions d’utilisation de Snowflake Connector.
Cette rubrique décrit les étapes pour paramétrer Openflow Connector for Google BigQuery.
Conditions préalables¶
Consulter À propos de Openflow Connector for Google BigQuery
Configurez votre déploiement de runtime.
Si vous utilisez Openflow - Snowflake Deployments, assurez-vous d’avoir consulté la configuration des domaines requis et d’avoir accordé l’accès aux domaines requis pour le connecteur.
Vous avez accès au rôle d’administrateur Openflow ou à un rôle similaire que vous utilisez pour gérer Openflow.
Si vous créez un utilisateur de service Snowflake pour gérer le connecteur, vous avez créé une authentification par paire de clés. Pour plus d’informations sur l’authentification par paire de clés, voir Authentification par paire de clés.
Points de terminaison requis¶
Les points de terminaison suivants sont nécessaires pour que le connecteur fonctionne :
bigquery.googleapis.com:443bigquerystorage.googleapis.com:443oauth2.googleapis.com:443
Si vous utilisez Openflow -BYOC, vous devez configurer la sortie de votre réseau Cloud pour autoriser l’accès TLS 443 aux points de terminaison énumérés ci-dessus. Si vous utilisez|OFSFSPCS-plural|, vous devez créer une règle réseau et une intégration d’accès externe (EAI). Ensuite, accordez les privilèges d’utilisation du rôle Snowflake sur laEAI.
Configuration des BigQuery¶
Créez un compte Google Cloud Service et accordez-lui les autorisations nécessaires pour lire les données BigQuery. Le connecteur utilise ce compte pour l’authentification.
Ce compte doit disposer des autorisations suivantes :
Important
BigQuery Data Editordoit être accordé au niveau du projet et non aux ensembles de données individuels. Les requêtes du connecteur{project}.{region}.INFORMATION_SCHEMA.TABLESpour découvrir les tables dans toutes les régions configurées - une vue à l’échelle de la région qui nécessite un accès au niveau du projet. Le connecteur interroge également{project}.{dataset}.INFORMATION_SCHEMA.KEY_COLUMN_USAGEpour déterminer les clés primaires de chaque table répliquée. Sans accès au niveau du projet, la requête échoue avec une erreurAccess Deniedet le connecteur ne fonctionne pas correctement.
Générer et télécharger le fichier de clé JSON correspondant pour le compte de service. Vous aurez besoin de l’intégralité du contenu de ce fichier pour la configuration du connecteur.
Activez l’historique des modifications sur chaque table source pour permettre au connecteur d’effectuer une réplication incrémentielle. Cette fonctionnalité permet à BigQuery de suivre les modifications au niveau des lignes (insertions, mises à jour et suppressions), que le connecteur utilise pour synchroniser efficacement les données.
Exécutez la requête suivante dans la console BigQuery pour chaque table :
Configuration de votre compte Snowflake¶
En tant qu’administrateur Openflow, effectuez les tâches suivantes pour configurer votre compte Snowflake :
Créez un utilisateur de service Snowflake :
Stockez la clé privée de cet utilisateur dans un fichier à fournir à la configuration du connecteur. Pour plus d’informations sur l’authentification par paire de clés, voir Authentification par paire de clés.
Créez une base de données qui stocke les données répliquées et définissez les autorisations permettant à l’utilisateur de Snowflake de créer des objets dans cette base de données en lui accordant les privilèges USAGE et CREATE SCHEMA.
Créez un nouvel entrepôt ou utilisez un entrepôt existant pour le connecteur.
Pour créer un nouvel entrepôt
Commencez par la taille de l’entrepôt MEDIUM, puis expérimentez la taille en fonction de la quantité de tables répliquées et de la quantité de données transférées.
Pour déterminer si vous devez augmenter la taille de l’entrepôt, surveillez le connecteur et la base de données pendant que la réplication des données est en cours. Si vous observez des retards importants lors de la réplication incrémentielle, expérimentez avec une taille d’entrepôt plus importante. Cependant, avec un grand nombre de tables, l’utilisation d’entrepôts multi-clusters offre généralement une meilleure scalabilité que l’augmentation de la taille de l’entrepôt.
Créez une intégration d’accès externe pour permettre l’accès réseau en dehors de Snowflake.
Prudence
Si votre environnement d’exécution s’exécute dans Openflow -BYOC, vous n’avez pas besoin de créer une intégration d’accès externe (EAI). À la place, configurez la sortie de votre réseau Cloud pour autoriser l’accès TLS 443 aux points de terminaison énumérés ci-dessous.
Hôte requis : les points de terminaison de port sont répertoriés dans Points de terminaison requis.
Pour permettre au connecteur d’appeler les APIs Google requises à partir d’un environnement d’exécution hébergé par Snowflake, vous devez créer une règle de réseau et une intégration d’accès externe (EAI). Ensuite, accordez les privilèges d’utilisation du rôle Snowflake sur le rôle EAI.
Pour créer l’intégration de l’accès externe et la règle réseau, et accorder l’accès, procédez comme suit :
Créez une règle de réseau pour permettre au connecteur d’accéder aux APIs Google requises :
Créez une intégration d’accès externe qui fait référence à la règle de réseau :
Accordez le privilège USAGE à votre rôle Snowflake sur l’intégration :
Installer le connecteur¶
Pour installer le connecteur, procédez comme suit en tant qu’ingénieur des données :
Accédez à la page d’aperçu d’Openflow. Dans la section Featured connectors, sélectionnez View more connectors.
Sur la page des connecteurs Openflow, trouvez le connecteur et sélectionnez Add to runtime.
Dans la boîte de dialogue Select runtime, sélectionnez votre environnement d’exécution dans la liste déroulante Available runtimes, puis cliquez sur Add.
Note
Avant d’installer le connecteur, assurez-vous que vous avez créé une base de données et un schéma dans Snowflake pour que le connecteur puisse stocker les données ingérées.
Authentifiez-vous au déploiement avec les identifiants de votre compte Snowflake et sélectionnez Allow lorsque vous êtes invité à autoriser l’application d’exécution à accéder à votre compte Snowflake. Le processus d’installation du connecteur prend quelques minutes.
Authentifiez-vous auprès de l’environnement d’exécution avec les identifiants de votre compte Snowflake.
Le canevas Openflow apparaît avec le groupe de processus du connecteur ajouté.
Configuration du connecteur¶
Pour configurer le connecteur, procédez comme suit :
Cliquez avec le bouton droit de la souris sur le runtime ajouté et sélectionnez Parameters.
Renseignez les valeurs des paramètres requis comme décrit dans Spécifier les paramètres de flux.
Spécifier les paramètres de flux¶
Cette section décrit les paramètres de flux que vous pouvez configurer en fonction des contextes de paramètres suivants :
Paramètres source BigQuery : Utilisé pour définir la configuration de la lecture des données depuis BigQuery.
Paramètres de destination BigQuery : Pour établir une connexion avec Snowflake.
Paramètres d’ingestion BigQuery : Utilisés pour spécifier les tables et les vues à répliquer.
Paramètres source BigQuery¶
Paramètre |
Description |
|---|---|
Nom du projet BigQuery |
L’identificateur unique du projet Google Cloud qui contient les ensembles de données et les tables BigQuery. Emplacement : ouvrez BigQuery Studio (Google Cloud Console > BigQuery) et dans le volet de gauche de l’explorateur survolez votre projet pour voir l’ID du projet. Exemple :** |
GCP Compte de service JSON |
Tout le contenu du fichier de clé JSON du compte de service Google Cloud Platform utilisé pour l’authentification. Assurez-vous que le compte de service dispose des autorisations IAM nécessaires pour exécuter les opérations BigQuery, telles que les rôles BigQuery Job User (Utilisateur de tâches BigQuery) etBigQuery Data Viewer (Visionneur de données BigQuery). Où l’obtenir : Google Cloud Console >IAM et Admin > Service Accounts (Comptes de service) > sélectionnez le compte de service > onglet Keys (cL2S° > Add key (Ajouter une clé) > Create new key (Créer une nouvelle clé) >JSON. Ceci télécharge un fichier .json. Ouvrez-le et collez tout son contenu (y compris les accolades) dans ce champ. |
Paramètres de destination BigQuery¶
Paramètre |
Description |
|---|---|
Stratégie d’authentification Snowflake |
Lorsque vous utilisez SPCS, utilisez SNOWFLAKE_SESSION_TOKEN comme valeur pour la stratégie d’authentification. Lorsque vous utilisez BYOC, utilisez KEY_PAIR comme valeur pour la stratégie d’authentification. Exemple :** |
Identificateur de compte Snowflake |
Lorsque vous utilisez :
|
Base de données de destination |
Nom de la base de données de destination vers laquelle la réplication doit être effectuée. La casse mixte est prise en charge. |
Fichier de clé privée de Snowflake |
Lorsque vous utilisez :
|
Mot de passe de la clé privée de Snowflake |
Lorsque vous utilisez :
|
Rôle Snowflake |
Lorsque vous utilisez :
|
Nom d’utilisateur Snowflake |
Lorsque vous utilisez :
|
Entrepôt Snowflake |
Le nom de l’entrepôt à utiliser par le connecteur. |
Paramètres d’ingestion BigQuery¶
Paramètre |
Description |
|---|---|
Régions BigQuery |
Spécifie une liste d’emplacements à interroger, séparés par des virgules pour les ensembles de données BigQuery. Vous pouvez combiner les emplacements régionaux et multirégionaux dans la même liste. Exemple :** |
Noms des ensembles de données inclus |
Liste des ensembles de données à répliquer, séparés par des virgules (interrogée dans toutes les régions sélectionnées). Exemple :** |
Regex Noms des ensembles de données inclus |
Expression régulière pour spécifier les noms des ensembles de données à répliquer (interrogée dans toutes les régions sélectionnées). Combinée avec les noms des ensembles de données inclus pour inclure tout ensemble de données correspondant. Remarque : l’expression REGEXP doit correspondre à la syntaxe RE2 de Google. Exemple :** |
Noms des tables incluses |
Liste de tables séparées par des virgules à répliquer dans les ensembles de données. Exemple :** |
Regex Noms des tables incluses |
Expression régulière pour spécifier les noms de table à répliquer dans les ensembles de données. Combinée avec les noms de table inclus pour inclure toute table correspondante. Remarque : l’expression REGEXP doit correspondre à la syntaxe RE2 de Google. Exemple :** |
Noms des vues incluses |
Liste de vues séparées par des virgules à répliquer dans les ensembles de données. Exemple :** |
Regex Noms des vues incluses |
Expression régulière pour spécifier les noms des vues à répliquer dans les ensembles de données. Combinée avec les noms de vues incluses pour inclure toute vue correspondante. Remarque : l’expression REGEXP doit correspondre à la syntaxe RE2 de Google. Exemple :** |
Fréquence de synchronisation incrémentielle |
Fréquence à laquelle le connecteur exécute une synchronisation incrémentielle pour chaque table. Les exécutions ne se chevauchent pas si un cycle prend plus de temps que l’intervalle configuré, l’exécution suivante attend la fin de la précédente. Étant donné que BigQuery limite la taille maximale de la fenêtre à 24h, la planification doit être plus fréquente que cette valeur. Exemple :** |
Voir la fréquence de synchronisation |
Fréquence à laquelle le connecteur exécute une synchronisation pour chaque vue. Les exécutions ne se chevauchent pas ; si un cycle prend plus de temps que l’intervalle configuré, l’exécution suivante attend la fin de la précédente. L’ingestion de vues ne prend pas en charge la CDC (capture de données modifiées), seulement tronquer et charger. Exemple :** |
Ensemble de données de table temporaire |
Ensemble de données dans lequel les tables temporaires nécessaires sont créées, telles que les tables de journal CDC ou les tables temporaires pour l’ingestion de vues. Snowflake recommande de disposer d’un ensemble de données distinct pour les tables temporaires et de ne pas utiliser l’ensemble de données ingéré à cette fin. Exemple :** |
Exécutez le flux¶
Cliquez avec le bouton droit de la souris sur l’avion et sélectionnez Enable all Controller Services.
Cliquez avec le bouton droit de la souris sur le groupe de processus importé et sélectionnez Start. Le connecteur démarre l’ingestion des données.
Prochaines étapes¶
Pour plus d’informations sur les tâches que vous pouvez effectuer après l’installation du connecteur, voir Utiliser le connecteur
Pour plus d’informations sur le suivi du flux, voir Contrôler le flux