如何停止运行bigquery查询

时间:2013-03-21 16:24:34

标签: google-bigquery

有什么方法可以取消正在运行的查询吗?

我使用网络界面。首先,我对10k和20k行的表进行了一系列测试,响应时间为秒。但是我在一个100k行的表上运行三连接查询,经过几千秒后似乎无穷无尽。

我只想在将所有工作转移到bigquery之前进行一些测试,但现在我担心它会花费整个月100gb的免费限制+更多。

该表是整数值的简单键值对。

3 个答案:

答案 0 :(得分:6)

shell命令bq cancel job_id现在将执行此操作。您可以从BigQuery控制台中的查询历史记录标签中获取job_id。如果您通过CLI启动查询,它会将job_id记录到标准输出。

答案 1 :(得分:3)

目前无法通过API或UI停止正在运行的查询。您可以关闭查询构建器(通过UI右上角的“x”)并再次重新打开它以使UI再次响应。我们目前正在使用此功能。

令人惊讶的是,对于该大小的表,查询将花费很长时间,即使对于连接也是如此,除非您的连接加入了非唯一键,因此花费时间生成匹配键的交叉产品。例如:

SELECT t1.foo 
FROM (SELECT 1 as one, foo FROM table1) t1 
JOIN (SELECT 1 as one, bar FROM table2) t2
ON t1.one = t2.one

将生成n x m行,其中n是table1中的行数,m是table2中的行数。您的查询是否有可能做类似的事情?如果没有,你可以发送查询吗? (可能在另一个SO问题中,与慢速连接性能有关)。

答案 2 :(得分:1)

我们在使用Java API时找不到停止作业的方法,据我所知,你无法在网络界面停止工作。