web-dev-qa-db-ja.com

BigQueryテーブルのスキーマをJSONとしてエクスポートする方法はありますか?

BigQuery テーブル には、Web UIで表示できるスキーマ 更新済み 、またはbqツールで データのロード に使用できますJSONファイルとして。ただし、このスキーマを既存のテーブルからJSONファイルに(できればコマンドラインから)ダンプする方法が見つかりません。それは可能ですか?

42
Daniel Waechter

スキーマを既存のテーブルからJSONファイルにダンプする方法(できればコマンドラインから)。それは可能ですか?

以下を試してください

bq show bigquery-public-data:samples.wikipedia  

–formatフラグを使用して、出力を優先することができます

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

コマンド出力の形式。オプションが含まれます:

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

最初の3つは人間が読めるように設計されており、後の3つは別のプログラムに渡すためのものです。形式が選択されていない場合、コマンドの実行に基づいて選択されます。

私は部分的な答えを提供したことに気づいた:o)

以下はPOが望んだことをします

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

テーブルデータ情報を回避するために、フラグ--schema [1]を追加できます。

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