【问题标题】:BiqQuery command line load query - using a JSON table schemaBigQuery 命令行加载查询 - 使用 JSON 表架构
【发布时间】:2016-04-11 18:30:25
【问题描述】:

我正在尝试加载逗号分隔的测试文件“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 上的同一个存储桶中。

显然我做错了什么,但据我所知,我看到的所有代码示例都使用上面的结构。

谁能给点建议?

【问题讨论】:

    标签: json csv google-bigquery


    【解决方案1】:

    我认为“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 工具的本地文件

    当然,如果本地文件不适合您的设计,则使用内联文本模式当然也是一种选择

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-09-19
        • 2020-08-26
        • 2017-01-03
        • 2018-04-07
        • 2021-10-06
        • 1970-01-01
        • 1970-01-01
        • 2020-03-22
        相关资源
        最近更新 更多