Utiliser l'outil de ligne de commande bq

bq est un outil de ligne de commande basé sur Python pour BigQuery. Cette page contient des informations générales sur l'utilisation de l'outil de ligne de commande bq.

Pour obtenir une explication complète de toutes les commandes et de tous les indicateurs bq, consultez la documentation de référence de l'outil de ligne de commande bq.

Avant de commencer

Avant de pouvoir utiliser l'outil de ligne de commande BigQuery, vous devez utiliser la console Google Cloud Platform pour créer ou sélectionner un projet et activer la facturation. Vous devez également installer le SDK Cloud.

  1. Connectez-vous à votre compte Google.

    Si vous n'en possédez pas déjà un, vous devez en créer un.

  2. Sélectionnez ou créez un projet Google Cloud Platform.

    Accéder à la page "Gérer les ressources"

  3. Assurez-vous que la facturation est activée pour votre projet Google Cloud Platform.

    Découvrir comment activer la facturation

  4. Installez et initialisez le SDK Cloud.
  5. BigQuery est automatiquement activé dans les nouveaux projets. Pour activer BigQuery dans un projet existant, accédez à Activez BigQueryl'API requise.

    Activer l'API.

Au lieu de télécharger et d'installer le SDK Cloud, vous pouvez en utiliser une version préinstallée disponible dans Google Cloud Shell.

Utilisation générale

Positionnement de l'indicateur

bq prend en charge deux types d'indicateurs : les indicateurs globaux et les indicateurs de commande. Ils doivent être utilisés dans l'ordre indiqué ci-dessous :

    bq --global_flag [ARGUMENT] bq_command --command-specific_flag [ARGUMENT]
  • Les indicateurs globaux (ou indicateurs communs) peuvent être utilisés dans toutes les commandes.
  • Les indicateurs spécifiques aux commandes s'appliquent à une commande spécifique.

Séparez plusieurs indicateurs globaux ou spécifiques à une commande en utilisant un espace. Exemple :

    bq --global_flag [ARGUMENT] --global_flag [ARGUMENT] bq_command --command-specific_flag [ARGUMENT] --command-specific_flag [ARGUMENT]

Vous pouvez spécifier les arguments de la commande de l'une des manières suivantes :

  • --flag=[ARGUMENT]
  • --flag='[ARGUMENT]'
  • --flag="[ARGUMENT]"
  • --flag [ARGUMENT]
  • --flag '[ARGUMENT]'
  • --flag "[ARGUMENT]"

Chacune de ces méthodes est utilisée tout au long de la documentation BigQuery.

Certaines commandes nécessitent d'encadrer les arguments par des guillemets simples ou doubles. Cela est souvent vrai lorsque l'argument contient des espaces, des virgules ou d'autres caractères spéciaux. Exemple :

bq query --nouse_legacy_sql 'select count(*) from `bigquery-public-data.samples.shakespeare`'

Les indicateurs avec des valeurs booléennes peuvent être spécifiés sans argument. Si vous spécifiez true ou false vous devez spécifier =[ARGUMENT].

Par exemple, cette commande spécifie false pour l'indicateur booléen --use_legacy_sql en plaçant no au début l'indicateur :

bq query --nouse_legacy_sql 'select count(*) from `bigquery-public-data.samples.shakespeare`'

Mais vous pouvez aussi spécifier false comme argument de l'indicateur, en saisissant :

bq query --use_legacy_sql=false 'select count(*) from `bigquery-public-data.samples.shakespeare`'

Pour obtenir la liste des indicateurs globaux et spécifiques à la commande, consultez la documentation de référence de l'outil de ligne de commande bq.

Obtenir de l'aide

Vous pouvez utiliser les commandes suivantes pour obtenir de l'aide sur l'outil de ligne de commande bq :

  • Pour connaître la version installée de bq, saisissez bq version.
  • Pour obtenir la liste complète des commandes, saisissez bq help.
  • Pour obtenir la liste des indicateurs globaux, saisissez bq --help.
  • Pour obtenir de l'aide sur une commande spécifique, saisissez bq help [COMMAND].
  • Pour obtenir de l'aide sur une commande spécifique avec la liste des indicateurs globaux, saisissez bq [COMMAND] --help.

Débogage

Vous pouvez utiliser les commandes suivantes pour déboguer bq :

  • Pour voir les demandes envoyées et reçues
    Ajoutez l'indicateur --apilog=[PATH_TO_FILE] pour enregistrer un journal des opérations dans un fichier local. bq fonctionne avec des appels standards à l'API REST qu'il peut être utile de consulter. Il est également utile de joindre ce journal lorsque vous signalez des problèmes. Utiliser - ou stdout au lieu d'un chemin de fichier imprimera le journal sur la console. Envoyer --apilog vers stderr génère une sortie dans le fichier d'erreur standard.
  • Pour aider à résoudre les erreurs
    Saisissez l'indicateur --format=prettyjson lors de l'obtention de l'état d'une tâche ou lors de l'affichage d'informations détaillées sur des ressources telles que des tables et des ensembles de données. Utiliser cet indicateur génère la réponse au format JSON, en incluant la propriété reason. Vous pouvez utiliser la propriété reason pour rechercher les procédures de dépannage.

Définir des valeurs par défaut pour les indicateurs de ligne de commande

Vous pouvez définir des valeurs par défaut pour les indicateurs de ligne de commande en les incluant dans le fichier de configuration de l'outil de ligne de commande — .bigqueryrc. Avant de configurer vos options par défaut, vous devez d'abord créer un fichier .bigqueryrc. Vous pouvez utiliser l'éditeur de texte de votre choix pour créer le fichier. Après avoir créé le fichier .bigqueryrc, vous pouvez spécifier le chemin d'accès au fichier à l'aide de l'indicateur global --bigqueryrc.

Si l'indicateur --bigqueryrc n'est pas spécifié, la variable d'environnement BIGQUERYRC est utilisée. Si cette dernière n'est pas spécifiée, le chemin ~/.bigqueryrc est utilisé. Le chemin par défaut est $HOME/.bigqueryrc.

Ajouter des indicateurs au fichier .bigqueryrc

Pour ajouter des valeurs par défaut pour les indicateurs de ligne de commande dans le fichier .bigqueryrc :

  • Placez les indicateurs globaux en haut du fichier, sans en-tête.
  • Pour les indicateurs spécifiques à une commande, saisissez le nom de la commande (entre parenthèses), et ajoutez les indicateurs spécifiques à la commande (un par ligne) en dessous au format suivant :

    [COMMAND]
    --command-specific_flag=[ARGUMENT]
    --command-specific_flag=[ARGUMENT]
    

Lorsque vous saisissez des indicateurs de ligne de commande dans .bigqueryrc, vous devez spécifier l'argument de l'indicateur au format =[ARGUMENT].

.bigqueryrc est lu à chaque fois que vous exécutez bq, et les modifications prennent donc effet immédiatement. Lorsque vous exécutez bq en mode interactif (bq shell), vous devez redémarrer l'interface système pour que les modifications soient appliquées.

Exemple

Cet exemple définit les valeurs par défaut pour les indicateurs globaux suivants :

  • --apilog est défini sur stdout pour imprimer les résultats du débogage sur la console.
  • --format est défini sur prettyjson pour afficher le résultat de la commande dans un format JSON lisible par l'homme.
  • --location est défini sur la zone multirégionale US.

Cet exemple définit des valeurs par défaut pour les indicateurs query spécifiques à une commande suivants :

  • --use_legacy_sql est défini sur false pour utiliser le langage SQL standard comme syntaxe de requête par défaut.

  • --max_rows est défini sur 100 pour contrôler le nombre de lignes dans le résultat de la requête.

  • --maximum_bytes_billed est défini sur 10 000 000 octets (10 Mo) pour que les requêtes lisant plus de 10 Mo de données échouent.

Cet exemple définit une valeur par défaut pour l'indicateur load spécifique à une commande suivant :

  • --destination_kms_key est défini sur projects/myproject/locations/mylocation/keyRings/myRing/cryptoKeys/myKey.
credential_file = [PATH_TO_CREDENTIAL_FILE]
--apilog=stdout
--format=prettyjson
--location=US

[query]
--use_legacy_sql=false
--max_rows=100
--maximum_bytes_billed=10000000

[load]
--destination_kms_key=projects/myproject/locations/mylocation/keyRings/myRing/cryptoKeys/myKey

Pour confirmer vos paramètres, saisissez la commande suivante :

cat ~/.bigqueryrc

Lancer bq dans une interface système interactive

Vous pouvez exécuter bq dans une interface système interactive où vous n'avez pas besoin de préfixer les commandes avec bq. Pour démarrer ce mode interactif, saisissez bq shell. Après avoir lancé l'interface, l'invite bascule vers l'ID de votre projet par défaut. Pour quitter le mode interactif, saisissez exit.

Exemples

Pour retrouver des exemples de ligne de commande, consultez la section Guides pratiques de la documentation BigQuery. Vous trouverez ci-dessous des liens vers des tâches fréquemment réalisées en ligne de commande, telles que créer, obtenir, lister, supprimer et modifier des ressources BigQuery.

Créer des ressources

Pour en savoir plus sur l'utilisation de l'outil de ligne de commande pour créer des ressources, consultez les sections :

Pour obtenir des exemples de création de table à partir d'un fichier de données, consultez la section Chargement des données.

Obtenir des informations sur les ressources

Pour en savoir plus sur l'utilisation de l'outil de ligne de commande pour obtenir des informations sur les ressources, consultez les sections :

Lister les ressources

Pour en savoir plus sur l'utilisation de l'outil de ligne de commande pour lister les ressources, consultez les sections :

Mettre à jour les ressources

Pour en savoir plus sur l'utilisation de l'outil de ligne de commande pour mettre à jour les ressources, consultez les sections :

Charger des données

Pour en savoir plus sur l'utilisation de l'outil de ligne de commande pour charger des données, consultez les sections :

Interroger les données

Pour en savoir plus sur l'utilisation de l'outil de ligne de commande pour interroger des données, consultez les sections :

Utiliser des sources de données externes

Pour en savoir plus sur l'utilisation de l'outil de ligne de commande pour interroger des données dans des sources de données externes, consultez les sections :

Exporter des données

Pour en savoir plus sur l'utilisation de l'outil de ligne de commande pour exporter des données, consultez la section :

Utiliser le service de transfert de données BigQuery

Pour en savoir plus sur l'utilisation de l'outil de ligne de commande avec le service de transfert de données BigQuery, consultez les pages suivantes :

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Besoin d'aide ? Consultez notre page d'assistance.