Exporter des résultats de requête vers un fichier

Ce document explique comment enregistrer des résultats de requête dans un fichier, au format CSV ou JSON par exemple.

Télécharger des résultats de requête dans un fichier local

Il n'est pas possible de télécharger des résultats de requête dans un fichier local avec l'outil de ligne de commande bq ou avec l'API.

Pour télécharger des résultats de requête dans un fichier CSV ou JSON délimité par un retour à la ligne, utilisez la console Google Cloud :

Console

  1. Dans la console Google Cloud, ouvrez la page "BigQuery".

    Accéder à BigQuery

  2. Cliquez sur Saisir une nouvelle requête.

  3. Saisissez une requête SQL valide dans la zone de texte de l'éditeur de requête.

  4. Facultatif : Pour modifier la zone de traitement, cliquez sur Plus et sélectionnez Paramètres de requête. Pour Emplacement des données, choisissez l'emplacement de vos données.

  5. Cliquez sur Exécuter.

  6. Lorsque les résultats sont renvoyés, cliquez sur Enregistrer les résultats et sélectionnez le format ou l'emplacement d'enregistrement des résultats.

    Le fichier est téléchargé à l'emplacement de téléchargement par défaut de votre navigateur.

Enregistrer des résultats de requête dans Google Drive

L'outil de ligne de commande bq et l'API ne permettent pas d'enregistrer des résultats de requête dans Google Drive.

Une erreur peut se produire lorsque vous tentez d'enregistrer les résultats BigQuery dans Google Drive. Cette erreur est due au fait que l'API Drive SDK ne peut pas accéder à Google Workspace. Pour résoudre le problème, vous devez autoriser votre compte utilisateur à accéder à Google Drive à l'aide de l'API Drive SDK.

Pour enregistrer des résultats de recherche dans Google Drive, utilisez la console Google Cloud :

Console

  1. Dans la console Google Cloud, ouvrez la page "BigQuery".

    Accéder à BigQuery

  2. Saisissez une requête SQL valide dans la zone de texte de l'éditeur de requête.

  3. Cliquez sur Exécuter.

  4. Lorsque les résultats sont renvoyés, cliquez sur Save results (Enregistrer les résultats).

    Capture d'écran du bouton "Enregistrer les résultats"

  5. Sélectionnez CSV (Google Drive) ou JSON (Google Drive). Lorsque vous enregistrez des résultats sur Google Drive, vous ne pouvez pas choisir l'emplacement. Les résultats sont toujours enregistrés à l'emplacement racine "Mon Drive".

  6. L'enregistrement des résultats sur Google Drive peut prendre quelques minutes. Une fois les résultats enregistrés, vous recevez un message de la boîte de dialogue incluant le nom de fichier bq-results-[TIMESTAMP]-[RANDOM_CHARACTERS].[CSV or JSON].

    Capture d'écran du bouton "Enregistrer les résultats"

  7. Dans le message de la boîte de dialogue, cliquez sur Ouvrir pour ouvrir le fichier ou accédez à Google Drive, puis cliquez sur Mon Drive.

Enregistrer des résultats de requête dans Google Sheets

Il n'est pas possible d'enregistrer des résultats de requête dans Google Sheets avec l'outil de ligne de commande bq ni avec l'API.

Une erreur peut se produire lorsque vous tentez d'ouvrir les résultats BigQuery depuis Google Sheets. Cette erreur est due au fait que l'API Drive SDK ne peut pas accéder à Google Workspace. Pour résoudre le problème, vous devez autoriser votre compte utilisateur à accéder à Google Sheets à l'aide de l'API Drive SDK.

Pour enregistrer des résultats de recherche dans Google Sheets, utilisez la console Google Cloud :

Console

  1. Dans la console Google Cloud, ouvrez la page "BigQuery".

    Accéder à BigQuery

  2. Cliquez sur Saisir une nouvelle requête.

  3. Saisissez une requête SQL valide dans la zone de texte de l'éditeur de requête.

  4. Facultatif : Pour modifier la zone de traitement, cliquez sur Plus et sélectionnez Paramètres de requête. Pour Emplacement des données, choisissez l'emplacement de vos données.

  5. Cliquez sur Exécuter.

  6. Lorsque les résultats sont renvoyés, cliquez sur Enregistrer les résultats et sélectionnez Google Sheets.

  7. Si nécessaire, suivez les instructions vous invitant à vous connecter à votre compte Google et cliquez sur Autoriser afin que BigQuery puisse écrire les données dans votre dossier Google Drive MY Drive (Mon Drive).

    Une fois que vous avez suivi les messages d'invite, vous devez recevoir un e-mail avec pour objet "Outils clients BigQuery connectés à votre compte Google". Il contient des informations sur les autorisations que vous avez accordées ainsi que les étapes à suivre pour les révoquer.

  8. Lorsque les résultats sont enregistrés, un message semblable au suivant apparaît sous les résultats de la requête dans la console Google Cloud : Saved to Sheets as "results-20190225-103531. Open. Cliquez sur le lien dans le message pour afficher vos résultats dans Google Sheets, ou accédez à votre dossier My Drive (Mon Drive) et ouvrez le fichier manuellement.

    Lorsque vous enregistrez les résultats de requête dans Google Sheets, le nom du fichier commence par results-[DATE], où [DATE] correspond à la date du jour au format YYYYMMDD.

Résoudre les problèmes liés aux exportations de fichiers

Lorsque vous exportez des données depuis BigQuery vers Google Sheets, vous pouvez constater que certaines cellules des feuilles sont vides. Cela se produit lorsque les données que vous écrivez dans la cellule dépassent la limite de Google Sheets de 50 000 caractères. Pour résoudre ce problème, utilisez une fonction de chaîne dans la requête SQL pour fractionner la colonne contenant les données longues en deux colonnes ou plus, puis enregistrez le résultat dans Sheets.

Étapes suivantes