我正在尝试加载以逗号分隔的测试文件'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工具的本地文件
而且,如果本地文件某种程度上不适合您的设计,那么当然仍然可以使用内联文本模式