Comment exporter les données d'une requête BigQuery ?


L'interface de BigQuery permet un export direct du résultat de la requête via le bouton "Download as CSV". Mais cet export direct n'est pas possible quand le fichier CSV à générer est trop gros.

L'astuce est alors de passer par Google Cloud Storage (dans Google Cloud Platform) pour y exporter les multiples fichiers CSV nécessaires. Ils seront stockés dans un bucket où ils pourront être téléchargés.

La marche à suivre est :

Etape 1 : Enregistrer dans une table BigQuery
Dans BigQuery, faire la sauvegarde du resultat de la requête dans une table BigQuery ("Save as Table")

Etape 2 : Exporter la table BigQuery vers Google Cloud Storage
Dans BigQuery, selectionner la table créée, puis faire clic droit > Export
Mettre l'URL Google Cloud Storage URI
Cette URL est à récupérer à l'aide de Google Cloud Platform : utiliser le même projet que celui de BigQuery = Récupérer l'URI Cloud Storage qui comprend le nom du bucket et l'objet (nom de fichier).
Par exemple, pour un bucket Cloud Storage "mybucket" et un fichier de données "myfile.csv", l'URI du bucket serait : gs://mybucket/myfile.csv
Pour les gros exports, il est recommandé d'utiliser le mode "Compression" et d'ajouter "*" dans le nom de fichier pour la generation de multiples fichiers (par exemple : gs://mybucket/myfile*.gz)

Etape 3 : Récupérer le fichier dans le bucket Google Storage
Aller dans Google Cloud Storage (via Google Cloud Platform), aller dans le bucket où les fichiers ont été mis.
Il suffit alors simplement de les telecharger. Puis les dezipper. Ajouter l'extension.csv si necessaire pour les ouvrir dans Excel (dans Excel, utiliser la fonctionnalité Convertir pour bien afficher les colonnes).

export_google_storage

Pour plus d'infos :

- Exporter des données BigQuery : https://cloud.google.com/bigquery/docs/exporting-data#exportingmultiple

- Export multiple vers Google Storage : https://stackoverflow.com/questions/36469903/bigquery-export-table-to-csv-file

0.00 avg. rating (0% score) - 0 votes

Laissez un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *