我正在尝试加载逗号分隔的测试文件'Davetest.csv',并使用文件'testjson.json'中保存的JSON模式
但是我无法正确识别表模式参数。
load mydataset.testy gs://paps1/davetest.csv gs://paps1/testjson.json
给了我
加载操作中的BigQuery错误:以下值无效: //PAPS1/TESTJSON.JSON不是有效值
我尝试了没有表模式的路径(ieload mydataset.testy gs://paps1/davetest.csv testjson.json),这让我觉得我试图用第一个内联编写模式'testjson.json'的字段名,因此也失败了。
这两个文件都保存在同一个存储桶中的GCS上。
显然我做的事情根本就是错误的,但据我所知,我见过的所有代码示例都使用了上面的结构。
有人可以提出建议吗?
答案 0 :(得分:2)
我认为" bq命令行工具的文档"还不够清楚! https://cloud.google.com/bigquery/bq-command-line-tool#creatingtablefromfile
相反,请运行>检查示例 bq帮助加载
它们更具体地显示了架构的允许选项:
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工具的本地文件
当然,如果本地文件在某种程度上不适合您的设计,那么使用内联文本架构仍然是可选的
答案 1 :(得分:0)
我遇到了同样的问题。为了避免这种情况,我尝试从本地磁盘加载模式文件,并且运行起来。