让Bigquery自动检测架构

Tim*_*ans 9 google-bigquery

我正在尝试加载csv文件并让BigQuery自动创建架构.

bq load --source_format CSV -F '\t'  --skip_leading_rows=1 voterdb.voters gs://[[ redacted bucket ]]/extract.csv
BigQuery error in load operation: Error processing job 'tokyo-unity-87516:bqjob_r3682474e46ce720f_0000015421aee065_1': No schema specified on job or table.
Run Code Online (Sandbox Code Playgroud)

根据https://cloud.google.com/bigquery/federated-data-sources自动创建/推断架构是受支持的.

Chr*_*ars 5

--autodetect标志可能是您想要的。它适用于 CSV 和(换行符分隔的)JSON 输入文件。

例如...

bq load --source_format=NEWLINE_DELIMITED_JSON --autodetect yourdataset.yourtable inputfile.json
Run Code Online (Sandbox Code Playgroud)

请参阅此处的文档:https : //cloud.google.com/bigquery/bq-command-line-tool#creatingtablefromfile

请注意,这与联合数据源无关。


Nic*_*las 4

如之前的答案所述,模式自动检测是联合数据源查询的一部分。CSV 和 JSON 模式自动检测标题下没有明确说明这不适用于bq load. 如果您觉得文档中对此不清楚,我强烈建议单击该文档页面右上角的发送反馈并详细描述这种歧义。

至于该bq load命令,根据bq load文档,表模式是必需的参数。忽略它确实会导致您遇到错误消息。

编辑 感谢 polleyg 的更新。在这篇博文中,宣布还应该在加载时检测架构。正如克里斯·西尔斯(Chris Sears)所提到的,--autodetect旗帜应该满足您的需求。