我一直从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'有关。我应该从哪里开始?
答案 0 :(得分:0)
我怀疑你所看到的是(1)过多的数据以这样的方式返回(2)我们回复了一个可怕的错误信息。您是否大致了解每个子选择中有多少行的固定值为f7
?
要检查,您可以尝试在每个子选择中添加LIMIT 10
并再次运行查询。如果可行,我们需要找到一种方法来编写查询以找出您想知道的内容。如果仍然失败,请发送job_id
,以便我们进行调查。
答案 1 :(得分:0)
看起来你在bigquery中遇到了一个错误 - 当两个连接键的命名相同并且都在结果中返回时,我们得到一个无效的模式并且查询失败。我已经在内部提交了这个bug,希望很快就能解决。
作为一种解决方法,如果您从所选结果中删除y.f7或t.f7(因为您加入了它们的相等性,包括两者都是因为结果是多余的)。或者,您可以在其中一个选项中使用as子句将其命名为其他内容 - 如f7 as joinedF7
中所示。