BigQuery表具有可在网络UI中查看,更新的架构,或用于通过该工具以JSON文件的形式加载数据的架构bq
。但是,我找不到将这种模式从现有表转储到JSON文件(最好从命令行)的方法。那可能吗?
Answers:
一种将模式从现有表转储到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
前三个旨在供人类阅读,后三个用于传递给另一个程序。如果未选择任何格式,则将根据命令运行选择一种格式。
意识到我提供了部分答案:o)
以下是PO想要的
bq show --format=prettyjson bigquery-public-data:samples.wikipedia | jq '.schema.fields'
bq show --format=prettyjson bigquery-public-data:samples.wikipedia | jq '.schema.fields'
"
代替撇号'
,如下所示:bq show --format=prettyjson bigquery-public-data:samples.wikipedia | jq ".schema.fields"
您可以添加标志--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
jq
。
您可以使用REST API调用将BigQuery表架构获取为JSON。文档链接:https : //cloud.google.com/bigquery/docs/reference/rest/v2/tables/get
curl 'https://bigquery.googleapis.com/bigquery/v2/projects/project-name/datasets/dataset-name/tables/table-name' \
--header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
--header 'Accept: application/json' \
--compressed