Dan*_*ter 48 json google-bigquery
BigQuery 表具有可以在Web UI中查看,更新或用于使用该工具作为JSON文件加载数据的模式bq
.但是,我找不到将此模式从现有表转储到JSON文件(最好是从命令行)的方法.那可能吗?
Mik*_*ant 69
将模式从现有表转储到JSON文件(最好是从命令行)的方法.那可能吗?
试试下面
bq show bigquery-public-data:samples.wikipedia
Run Code Online (Sandbox Code Playgroud)
您可以使用-format标志来美化输出
--format:none | json | prettyjson | csv |稀疏|漂亮:
命令输出的格式.选项包括:
none: ...
pretty: formatted table output
sparse: simpler table output
prettyjson: easy-to-read JSON format
json: maximally compact JSON
csv: csv format with header
Run Code Online (Sandbox Code Playgroud)
前三个用于人类可读,后三个用于传递给另一个程序.如果未选择任何格式,将根据命令运行选择一个格式.
意识到我提供了部分答案:o)
以下是PO想要的
bq show --format=prettyjson bigquery-public-data:samples.wikipedia | jq '.schema.fields'
Run Code Online (Sandbox Code Playgroud)
bsm*_*osj 39
您可以添加标志--schema
[1]以避免表数据信息.
bq show --schema --format=prettyjson [PROJECT_ID]:[DATASET].[TABLE] > [SCHEMA_FILE]
bq show --schema --format=prettyjson mydataset.mytable > /tmp/myschema.json
Run Code Online (Sandbox Code Playgroud)
[1] https://cloud.google.com/bigquery/docs/managing-table-schemas
Mic*_*Hua 12
答案更新
自 2020 年 10 月起,您还可以运行 SQL 查询,INFORMATION_SCHEMA.COLUMNS
这是一种内省功能。
SELECT *
FROM <YOUR_DATASET>.INFORMATION_SCHEMA.COLUMNS
Run Code Online (Sandbox Code Playgroud)
并使用聚合函数嵌套数据,例如
SELECT table_name, ARRAY_AGG(STRUCT(column_name, data_type)) as columns
FROM <YOUR_DATASET>.INFORMATION_SCHEMA.COLUMNS
GROUP BY table_name
Run Code Online (Sandbox Code Playgroud)
INFORMATION_SCHEMA.VIEWS
如果您还需要视图中的源代码,那么这些元数据也是有趣的。
然后从 BigQuery 界面点击“保存结果/JSON”,或者bq query
根据您的情况将其包装到命令行中。
归档时间: |
|
查看次数: |
26710 次 |
最近记录: |