Une table BigQuery possède un schéma qui peut être affiché dans l'interface utilisateur Web, mis à jour, ou utilisé pour charger les données avec l'outil bq sous forme de fichier JSON. Cependant, je ne trouve pas de moyen de vider ce schéma d'une table existante vers un fichier JSON (de préférence à partir de la ligne de commande). Est-ce possible?

73
Daniel Waechter 4 avril 2017 à 01:08

2 réponses

Meilleure réponse

un moyen de vider le schéma d'une table existante vers 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'option –format pour embellir la sortie

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

Format de sortie de 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 à passer à un autre programme. Si aucun format n'est sélectionné, un sera choisi en fonction de l'exécution de la commande.

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' 
110
Mikhail Berlyant 3 avril 2017 à 22:48

Vous pouvez ajouter l'indicateur --schema [1] afin d'é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- schémas de table

70
bsmarcosj 19 juin 2018 à 06:25