【问题标题】:bigquery: Loading "DATE", "INT64" and "FLOAT64" types not supported?bigquery:不支持加载“DATE”、“INT64”和“FLOAT64”类型?
【发布时间】:2016-06-02 16:13:15
【问题描述】:

根据Google BigQuery Date Data Type?,bigquery 标准 SQL 现在具有真正的 DATE 数据类型。但是,尝试加载表失败:

$ bq load -F'|' --ignore_unknown_values test.table1 source.csv name:string,mydate:date
Upload complete.
Waiting on bqjob_r385016d9cc84259d_0000015511b08bfc_1 ... (2s) Current status: DONE
BigQuery error in load operation: Error processing job 'test-1320:bqjob_r385016d9cc84259d_0000015511b08bfc_1': An internal error occurred and the request could not be completed

此外,模式中的标准 SQL 广告数据类型 INT64 和 FLOAT64 似乎也不支持:

$ bq load -F'|' --ignore_unknown_values test.table1 source2.csv key:INT64,desc:string
BigQuery error in load operation: Invalid value for: INT64 is not a valid value

这是预期的行为还是我做错了什么?

【问题讨论】:

    标签: google-bigquery


    【解决方案1】:

    DATE 仍在我们的堆栈中推出。昨天检查了对在加载作业中使用这种类型的支持,并有望在下周投入生产。

    FLOAT64 和 INT64 目前只能在标准 SQL 查询语言中理解。对于加载作业,请暂时继续使用FLOAT 和INTEGER(它们相当于标准SQL 中的64 版本)。

    【讨论】:

    • 谢谢,将等待并测试 DATE 类型。
    • 现在似乎可以工作了,我只能加载带有 DATE 列的表。谢谢!
    • 顺便说一句,仅供参考,这似乎是间歇性的,有些负载可以工作,有些则不能,但如果您重试足够多次,最终会这样做。
    • 我们有一个多天的推出流程,因此您可能会同时使用新服务器和旧服务器。假设没有回滚,它应该在几天内 100% 的工作。
    • 我猜你提交了code.google.com/p/google-bigquery/issues/detail?id=565?根据该链接,确认错误并修复传入。根据它在堆栈中的位置,修复可能需要一段时间才能命中 prod,但链接中提供了一种解决方法。
    【解决方案2】:

    您应该使用相应的标志来enable standard sql

    bq 查询 --use_legacy_sql=false

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-15
      • 2016-01-29
      • 1970-01-01
      • 2023-01-26
      • 1970-01-01
      • 2010-12-12
      • 2020-06-26
      • 2021-01-15
      相关资源
      最近更新 更多