我正在尝试加载以逗号分隔的测试文件'Davetest.csv',并使用文件'testjson.json'中保存的JSON模式

但是我无法正确识别表模式参数。

load mydataset.testy gs://paps1/davetest.csv gs://paps1/testjson.json


给我


加载操作中的BigQuery错误:无效值:
//PAPS1/TESTJSON.JSON不是有效值


我在没有表模式路径的情况下尝试了该操作(即,加载mydataset.testy gs://paps1/davetest.csv testjson.json),这使它感到困惑,以为我试图使用第一个字段名' testjson.json”,因此也失败了。

这两个文件都保存在GCS的同一存储桶中。

显然,我在做一些根本上错误的事情,但是据我所知,我所看到的所有代码示例都在使用上述结构。

有人可以建议吗?

最佳答案

我认为“ bq命令行工具”的文档不够清楚!
https://cloud.google.com/bigquery/bq-command-line-tool#creatingtablefromfile

而是通过运行> bq help load检查示例
它们在显示模式的允许选项时更加具体:

Examples:
bq load ds.new_tbl ./info.csv ./info_schema.json
bq load ds.new_tbl gs://mybucket/info.csv ./info_schema.json
bq load ds.small gs://mybucket/small.csv name:integer,value:string
bq load ds.small gs://mybucket/small.csv field1,field2,field3


如您现在所见,架构文件应该是bq工具的本地文件

而且,如果本地文件某种程度上不适合您的设计,那么当然仍然可以使用内联文本模式

10-01 00:45