【问题标题】:BigQuery. Error when querying multiple tables: Unexpected. Please try again大查询。查询多个表时出错:意外。请再试一次
【发布时间】:2013-07-26 15:18:20
【问题描述】:

BigQuery 返回代码 500:“意外。请重试。”

查询示例:

SELECT IF((bD >= "2013-03-18" AND bD < "2013-03-25"), "2013w12", IF((bD >= "2012-03-19" AND bD < "2012-03-26"), "2012w12", IF((bD >= "2011-03-21" AND bD < "2011-03-28"), "2011w12", ""))) AS pD_pW_T, IF((bD >= "2013-03-18" AND bD < "2013-03-25"), IF(bD > vD, null, (-(2013 - vY))), IF((bD >= "2012-03-19" AND bD < "2012-03-26"), IF(bD > vD, null, (-(2012 - vY))), IF((bD >= "2011-03-21" AND bD < "2011-03-28"), IF(bD > vD, null, (-(2011 - vY))), null))) AS aRD_y, IF((bD >= "2013-03-18" AND bD < "2013-03-25"), IF(bD > vD, null, (-(2013 - vY))), IF((bD >= "2012-03-19" AND bD < "2012-03-26"), IF(bD > vD, null, (-(2012 - vY))), IF((bD >= "2011-03-21" AND bD < "2011-03-28"), IF(bD > vD, null, (-(2011 - vY))), null))) AS aRD_y_name, STRING(SUM(ac)) AS acK_ac_0 FROM tabl.dataset_2009, tabl.dataset_2007, tabl.dataset_2008, tabl.dataset_2013, tabl.dataset_2012, tabl.dataset_2011, tabl.dataset_2010 WHERE (((bD >= "2013-03-18" AND bD < "2013-03-25") OR (bD >= "2012-03-19" AND bD < "2012-03-26") OR (bD >= "2011-03-21" AND bD < "2011-03-28"))) AND (((bD < "2013-03-27"))) AND (ac <> 0) GROUP BY pD_pW_T, aRD_y, aRD_y_name

生产中的代码已经运行了数周。

减少执行查询的表数量似乎有效。

【问题讨论】:

    标签: google-bigquery


    【解决方案1】:

    看起来您的一个表存在架构不匹配:aRD_y 在一个表中具有整数类型,而在另一个表中具有布尔类型。如果您尝试将这些表合并在一起,则会出现错误。

    我将在内部提交一个错误以改进此错误消息。感谢您的报告!

    【讨论】:

    • 您好,感谢您的回复。为了使查询通过,我必须将所有 Null 类型转换为相应的类型。我希望有人可以使用这个解决方案来解决他们的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多