在过去的一周左右,我们在交互模式下向BigQuery提交的SQL子集(每天几千个数字中的个位数)开始花费几个小时而不是几秒时间。超时作业的SQL似乎是非常特殊的情况。我能够从BigQuery控制台再现这两个作业的行为:
工作调用(在5秒内运行):
Job ID bluecore-qa:US.bquijob_4e0e4662_1639a278fcf
Creation Time May 25, 2018, 9:54:34 PM
Start Time May 25, 2018, 9:54:34 PM
End Time May 25, 2018, 9:54:39 PM
Bytes Processed 176 MB
Bytes Billed 177 MB
Slot Time (ms) 271 K完全相同的SQL (不到一分钟后运行)在6个小时后超时:
Job ID bluecore-qa:US.bquijob_57c799e2_1639a2852fa
Creation Time May 25, 2018, 9:55:24 PM
Start Time May 25, 2018, 9:55:24 PM
Query Priority Interactive
Job Type State Start Time Duration User Email Bytes Processed Bytes Billed Billing Tier Labels
---------- --------- ----------------- ---------- --------------------- ----------------- -------------- -------------- --------
query FAILURE 25 May 21:55:24 5:59:45 xxxxx
Error encountered during job execution:
Request timed out. Please try again.请注意,SQL确实使用了“忽略情况”,这在过去对我们是有问题的(但通常会导致“内部错误”情况)。
是否有一种方法可以获得有关作业的更多信息,以查看第二个作业是否在BigQuery调度队列中被推迟?(根据BigQuery StackDriver的统计数据,我们的项目在2000年的时隙限制内保持良好状态)。
发布于 2018-05-30 21:20:19
这是Google BigQuery的一个侧面问题。他们正在进行修复,并将在此之后更新https://issuetracker.google.com/issues/80407917。
发布于 2018-05-30 17:34:09
在BigQuery中,作业从未被推回BigQuery调度队列(即使在流模式和交互模式下)。
您可以使用审计日志获取有关超时的更多细节。审计日志记录是Stackdriver目前唯一可用的替代方法。
https://stackoverflow.com/questions/50588265
复制相似问题