web-dev-qa-db-fra.com

Existe-t-il un moyen d'exporter le schéma d'une table BigQuery au format JSON?

Une BigQuery table a un schéma qui peut être visualisé dans l'interface utilisateur Web, mise à jour , ou utilisé pour charger des données avec le bq outil en tant que fichier JSON. Cependant, je ne trouve aucun moyen de vider ce schéma d'une table existante dans un fichier JSON (de préférence à partir de la ligne de commande). Est-ce possible?

42
Daniel Waechter

un moyen de vider le schéma d'une table existante dans un fichier JSON (de préférence à partir de la ligne de commande). Est-ce possible?

essayez ci-dessous

bq show bigquery-public-data:samples.wikipedia  

Vous pouvez utiliser l'indicateur –format pour épurer la sortie

--format: none | json | prettyjson | csv | sparse | pretty:

Format pour la sortie de la commande. Les options comprennent:

none:       ...
pretty:     formatted table output  
sparse:     simpler table output  
prettyjson: easy-to-read JSON format  
json:       maximally compact JSON  
csv:        csv format with header   

Les trois premiers sont destinés à être lisibles par l’homme et les trois derniers sont destinés au passage à un autre programme. Si aucun format n'est sélectionné, l'un d'entre eux sera choisi en fonction de la commande exécutée.

Réalisé j'ai fourni une réponse partielle: o)

Ci-dessous, ce que PO voulait

bq show --format=prettyjson bigquery-public-data:samples.wikipedia | jq '.schema.fields' 
60
Mikhail Berlyant

Vous pouvez ajouter le drapeau --schema [1] pour éviter les informations de données de table.

bq show --schema --format=prettyjson [PROJECT_ID]:[DATASET].[TABLE] > [SCHEMA_FILE]

bq show --schema --format=prettyjson mydataset.mytable > /tmp/myschema.json

[1] https://cloud.google.com/bigquery/docs/managing-table-schemas

32
bsmarcosj