BigQuery 命令行加载查询 - 使用 JSON table 架构

BiqQuery command line load query - using a JSON table schema

我正在尝试加载逗号分隔的测试文件 'Davetest.csv',并使用文件 'testjson.json'

中保存的 JSON 架构

但是我无法让它正确识别 table 架构参数。

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

给我

BigQuery error in load operation: Invalid value for: //PAPS1/TESTJSON.JSON is not a valid value

我在没有 table 架构路径的情况下尝试了它 (i.e.load mydataset.testy gs://paps1/davetest.csv testjson.json),这让人困惑它认为我正在尝试使用 'testjson.json' 的第一个字段名内联编写模式,因此也失败了。

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

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

有人可以指点一下吗?

我遇到了同样的问题。为了避免这种情况,我尝试从本地磁盘加载模式文件并且成功了。

我认为 "bq Command-Line Tool" 的文档不够清晰! 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 工具的本地文件

当然,如果本地文件不适合您的设计,使用内联文本架构仍然是一种选择