始终出现“意外”错误

时间:2012-05-05 20:53:13

标签: google-bigquery

我一直从BigQuery获得这个结果:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "internalError",
    "message": "Unexpected. Please try again."
   }
  ],
  "code": 503,
  "message": "Unexpected. Please try again."
 }
}

导致它的查询格式为:

SELECT y.f1, y.f2, y.f3, y.f4, y.f5, y.f6, y.f7,  
       t.f1, t.f2, t.f3, t.f4, t.f5, t.f6, t.f7
FROM
  (
    SELECT 
      f1, f2, f3, f4, f5, f6, f7 
    FROM
      ds.data_20120503 
    WHERE 
      kind='A'
  )
  AS y
  JOIN 
  (
    SELECT 
      f1, f2, f3, f4, f5, f6, f7 
    FROM
      ds.data_20120504 
    WHERE 
      kind='A'
  )
  AS t
  ON y.f7 = t.f7

如果我只运行子选择,它们工作正常,所以我猜它与'join'有关。我应该从哪里开始?

2 个答案:

答案 0 :(得分:0)

我怀疑你所看到的是(1)过多的数据以这样的方式返回(2)我们回复了一个可怕的错误信息。您是否大致了解每个子选择中有多少行的固定值为f7

要检查,您可以尝试在每个子选择中添加LIMIT 10并再次运行查询。如果可行,我们需要找到一种方法来编写查询以找出您想知道的内容。如果仍然失败,请发送job_id,以便我们进行调查。

答案 1 :(得分:0)

看起来你在bigquery中遇到了一个错误 - 当两个连接键的命名相同并且都在结果中返回时,我们得到一个无效的模式并且查询失败。我已经在内部提交了这个bug,希望很快就能解决。

作为一种解决方法,如果您从所选结果中删除y.f7或t.f7(因为您加入了它们的相等性,包括两者都是因为结果是多余的)。或者,您可以在其中一个选项中使用as子句将其命名为其他内容 - 如f7 as joinedF7中所示。