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 consoleTrusted Cloud  :

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

    Accéder à BigQuery

  2. Cliquez sur Requête SQL.

  3. Saisissez une requête GoogleSQL 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 requête dans Google Drive, utilisez la console : Trusted Cloud

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

    Accéder à BigQuery

  2. Cliquez sur Requête SQL.

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

  4. Cliquez sur Exécuter.

  5. Lorsque les résultats sont renvoyés, cliquez sur Enregistrer les résultats.

  6. Sous Google Drive, sélectionnez CSV ou JSON. Lorsque vous enregistrez des résultats dans Google Drive, vous ne pouvez pas choisir l'emplacement. Les résultats sont toujours enregistrés à l'emplacement racine "Mon Drive".

  7. 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].

  8. 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 requête dans Google Sheets, utilisez la console Trusted Cloud  :

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

    Accéder à BigQuery

  2. Cliquez sur Requête SQL.

  3. Saisissez une requête GoogleSQL 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 utilisateur et cliquez sur Autoriser afin que BigQuery puisse écrire les données dans votre dossier Google Drive MY Drive.

    Une fois que vous avez suivi les messages d'invite, vous devriez recevoir un e-mail confirmant que les outils client BigQuery ont été associés à votre compte utilisateur. 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 Trusted 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 d'enregistrement des résultats dans Google Sheets

Lorsque vous enregistrez 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.

Enregistrer les résultats de requête dans Cloud Storage

Vous pouvez exporter les résultats de vos requêtes vers Cloud Storage dans la console Trusted Cloud en procédant comme suit :

  1. Ouvrez la page BigQuery dans la console Trusted Cloud .

    Accéder à la page "BigQuery"

  2. Cliquez sur Requête SQL.

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

  4. Cliquez sur Exécuter.

  5. Lorsque les résultats sont renvoyés, cliquez sur Enregistrer les résultats > Cloud Storage.

  6. Dans la boîte de dialogue Exporter vers Google Cloud Storage :

    • Dans le champ Emplacement GCS, recherchez le bucket, le dossier ou le fichier dans lequel vous souhaitez exporter les données.
    • Pour le champ Format d'exportation, choisissez le format des données exportées : CSV, JSON (délimité par un retour à la ligne), Avro ou Parquet.
    • Pour le champ Compression, sélectionnez un format de compression ou None pour n'appliquer aucune compression.
  7. Cliquez sur Enregistrer pour exporter les résultats de la requête.

Pour vérifier la progression de la tâche, développez le volet Historique des tâches et recherchez la tâche de type EXTRACT.

Étapes suivantes