Skip to main content

Google BigQuery

Type de connexion

Outil Alteryx. La version la plus récente est disponible dans la Communauté Alteryx.

Type de prise en charge

Lecture et écriture

Validé le

Version du client ODBC 2.4.6.1015

Détails du pilote

Une action d'administrateur dans Google Cloud peut être requise avant de configurer une connexion dans les outils Google BigQuery d'Alteryx.

Google BigQuery requiert OAuth comme méthode d'authentification. Nous prenons en charge OAuth avec le pilote ODBC Simba via le DSN ou dans Alteryx en utilisant DCM.

Outils Alteryx utilisés pour la connexion

Important

Les outils Google BigQuery sont obsolètes. Vous pouvez toujours utiliser l'outil Entrée de données et l'outil Sortie de données  pour vous connecter à Google BigQuery.

Traitement standard de workflow

Traitement de workflow en base de données

Note

Important

Les projets, jeux de données et tables comportant des caractères spéciaux tels que des tirets doivent être mis entre guillemets. Pour plus d'informations, consultez l'article de la Base de connaissances Google BigQuery Error with Hyphens in SQL Query (Erreur Google BigQuery avec tirets dans SQL Query) .

Le traitement de workflow en base de données est uniquement pris en charge avec DCM.

Le jeu de données Google BigQuery utilisé pour les connexions Lecture et Écriture en base de données doit être identique.

Configurez une connexion groupée Google BigQuery

L'utilisation de Google BigQuery en masse n'est prise en charge que lors de l'utilisation de DCM . Pour utiliser la connexion en masse via l’outil Sortie de données :

  1. Assurez-vous que le Gestionnaire de connexions aux données est activé.

  2. Sélectionnez Configurer une connexion et sélectionnez Sources de données - Google BigQuery en masse.

  3. Sélectionnez Ajouter une source de données .

    1. Saisissez un Nom de source de données .

    2. Entrez un catalogue (projet) . Il s'agit de l'ID de projet Google BigQuery qui contient à la fois le jeu de données dans lequel la table sera écrite et le compartiment Google Cloud Storage utilisé pour le transfert.

    3. Entrez un jeu de données . C'est là que le tableau final sera écrit.

    4. Entrez un nom de compartiment . Il s'agit de l'emplacement intermédiaire Google Cloud Storage pour le chargement en masse. Le compartiment doit se trouver au même emplacement que le projet.

    5. Sélectionnez Enregistrer .

  4. Sélectionnez + Connecter les informations d'identification . Les mêmes informations d'identification sont utilisées pour le transfert dans Cloud Storage que pour le projet Google BigQuery.

    1. Sélectionnez une Méthode d'authentification .

    2. Suivez les instructions pour utiliser OAuth avec DCM .

  5. Sélectionnez Se connecter .

  6. Entrez le nom de la table et sélectionnez OK .

OAuth en utilisant DCM

Vous pouvez configurer l'authentification pour Google BigQuery en utilisant OAuth intégré à DCM. De cette façon, vous n'avez pas à copier manuellement les jetons dans le pilote ODBC.

Conditions préalables

Pour configurer OAuth, vous avez besoin des éléments suivants :

  • Un DSN valide préparé avec l'option Authentifiant définie sur OAuth ,

  • L'URL d'autorité OAuth, un port, un ID client et un secret de client obtenus auprès de l'administrateur.

Configuration de l'authentification

Dans Designer, placez l'outil Entrée dans l'espace de travail.

  1. Sélectionnez la case à cocher Utiliser le Gestionnaire de connexion aux données (DCM) .

  2. Sélectionnez Configurer une connexion

  3. Dans la fenêtre Connexion aux données , accédez à Sources de données et choisissez Google BigQuery ODBC .

  4. La fenêtre Gestionnaire de connexion s'ouvre. Sélectionnez + Ajouter une source de données .

  5. Pour la Technologie , choisissez Google BigQuery ODBC avec Simba .

  6. Renseignez le Nom de la source de données et choisissez le DSN Google BigQuery préparé.

  7. Sélectionnez Enregistrer .

  8. Pour lier les informations d'identification, sélectionnez + Connecter les informations d'identification .

  9. Choisissez OAuth comme Méthode d'authentification .

  10. Pour Application OAuth , choisissez de Créer un nouvel identifiant et renseignez les informations requises (obtenez l'URL d'autorité OAuth, le port, l'ID client et le secret de client auprès de l'administrateur).

  11. Choisissez de Créer un nouvel identifiant pour Jetons OAuth .

  12. Renseignez le Nom d'identifiant et sélectionnez Créer et lier .

  13. Sélectionnez Se connecter .

  14. Connectez-vous dans la fenêtre de l'explorateur externe du gestionnaire Google.

Note

Il se peut que vous soyez invité à suivre le processus d'autorisation OAuth deux fois en raison de la façon dont les jetons sont gérés dans DCM.

  • Google BigQuery cite toujours les tables.

  • Les ajouts se font par nom de champ. Si le nom ou le type de données ne correspondent pas, Google BigQuery génère une erreur.

  • Cochez la case Prise en charge des valeurs nulles dans les options spécifiques au format (cochée par défaut) pour autoriser le chargement de données nulles dans Google BigQuery. Si l'option n'est pas cochée, Google BigQuery rejette les valeurs nulles.

  • Les colonnes supplémentaires de la table cible se chargeront comme nulles si elles ne sont pas incluses dans Alteryx.

  • Un nom de colonne ne doit contenir que des lettres (a-z, A-Z), des chiffres (0-9) ou des traits de soulignement (_), et il doit commencer par une lettre ou un trait de soulignement. La longueur maximum du nom de colonne est de 300 caractères. Pour obtenir plus d'informations, consultez la documentation Google BigQuery .

Schémas des connecteurs de sortie

Les noms et les types de champs transmis à l'outil Sortie Google BigQuery doivent correspondre à ceux de la table de destination Google BigQuery. Les colonnes qui existent dans la table Google BigQuery mais qui ne figurent pas dans la liste des champs du workflow génèrent des valeurs nulles dans les enregistrements insérés. Cela provoque une erreur si la colonne de destination n'est pas configurée comme compatible à la valeur nulle (NULLABLE).

Indicateur de progression d'entrée

S'il existe des lignes dans le tampon de streaming pour la table sélectionnée d'un outil d'entrée sans requête personnalisée, l'outil d'entrée utilise le nombre de lignes estimé par Google dans le tampon de streaming, tout en mettant à jour le pourcentage de l'indicateur de progression dans un workflow en cours. Si l'estimation de Google est incorrecte, alors la valeur indiquée dans l'indicateur de progression peut également être incorrecte.

Si la table interrogée est vide et que le tampon de streaming de cette table ne l'est pas, Google peut estimer que le nombre de lignes dans le tampon de streaming est égal à zéro. Cependant, Google peut toujours renvoyer des lignes à partir du tampon de streaming. Dans ce cas, vous ne verrez pas la mise à jour du pourcentage de l'indicateur de progression et un avertissement s'affichera.

Configurez une connexion à l'aide des outils Google BigQuery

Contactez votre administrateur Google Cloud pour obtenir de l'aide avec vos identifiants Google BigQuery.

Depuis la version 22.1 de Designer, une authentification OAuth est prise en charge avec le pilote ODBC Simba.

Configuration de l'authentification service-à-service

Vous pouvez obtenir un fichier de clé JSON de compte de service à partir de la console Google Cloud ou vous pouvez créer une nouvelle clé pour un compte de service existant. Vous trouverez plus d'informations sur Google BigQuery sur le site de documentation de Google Big Query , dans la section Créer et gérer les clés de comptes de service .

Configuration de l'authentification de l'utilisateur final

Obtenez un secret et un ID client OAuth depuis la page d'informations d'identification de la console Google Cloud. Assurez-vous que le type de client est défini sur Autre.

Note

De préférence, utilisez l'authentification Service à service  plutôt que l'authentification Utilisateur final dans la mesure du possible. La gestion de clés distinctes pour plusieurs applications qui s'authentifient pour le même compte de service permet la révocation de l'accès pour une application spécifique sans exiger que les autres applications mettent à jour leurs informations d'identification d'authentification.

Autorisations d'accès

Les autorisations de lecture et d'écriture de données dans un compte de service de projet Google BigQuery doivent être accordées via la console Google Cloud . Vous trouverez plus d'informations sur les autorisations sur le site de documentation de Google Big Query .

Profondeur maximale des enregistrements imbriqués et répétés

Les enregistrements imbriqués et répétés sont pris en charge à une profondeur d'un niveau. Les enregistrements répétés qui sont imbriqués à une profondeur de plus d'un niveau ne sont pas pris en charge. Vous trouverez plus d'informations sur les enregistrements imbriqués et répétés sur le site de documentation Google BigQuery .

Données géographiques

Google BigQuery ne prend pas en charge l'écriture de données spatiales.

Champs DATETIME

Lors de l'écriture dans Google BigQuery :

  • En utilisant ODBC pour l'écriture, Designer crée des champs date/heure en tant que DATETIME ; en utilisant le chargeur en masse pour l'écriture, il crée des champs date/heure en tant que TIMESTAMP.

  • Dans Google BigQuery, TIMESTAMP équivaut à DATETIME et vous pouvez utiliser EXTRACT pour l'analyser.

Aplatir les enregistrements imbriqués et répétés

En entrée

Lors de l'extraction d'enregistrements imbriqués ou répétés d'une table Google BigQuery, le workflow Alteryx aplatit les enregistrements imbriqués et/ou répétés selon le modèle d'affectation de noms suivant :

Un enregistrement imbriqué nested_attr de la colonne de niveau supérieur top_attr génère une nouvelle colonne nommée nr_top_attr_nexted_attr.

En sortie

Lors du transfert d'enregistrements du workflow Alteryx vers une table Google BigQuery existante, la nécessité de plier les champs d'enregistrement en enregistrements imbriqués et/ou répétés est spécifiée en renommant les champs d'enregistrement circulant dans le connecteur de sortie, afin de respecter ces conventions d'affectation de noms.

Un enregistrement nested_attr à imbriquer dans la colonne de niveau supérieur top_attr doit être renommé nr_top_attr_nested_attr .

Un enregistrement nested_attr à imbriquer et à répéter un nombre arbitraire de fois sous la colonne de niveau supérieur top_attr doit être renommé nrr_top_attr_{repetition_index}_nested_attr . Les répétitions contenant toutes les valeurs nulles dans les champs imbriqués sont supprimées avant l'appel de l'API (Interface de programmation d'application) pour insérer de nouvelles lignes dans la table Google BigQuery. Cela implique que les enregistrements de votre workflow Designer peuvent avoir un nombre arbitraire de répétitions maximales et qu'ils ne doivent pas avoir le même nombre de répétitions.

Limites AVRO

En raison d'une limite AVRO, le chargeur BigQuery Bulk ne prend pas en charge les types de données BIGNUMERIC. Il les traite comme FLOAT.

Avec le chargeur en masse Google BigQuery, Designer ne peut pas créer de champs en tant que DATETIME. Dans les versions de Designer antérieures à 23.2, le chargeur en masse charge les dates en tant que String.