2013-03-21 87 views
5

有沒有辦法如何取消正在運行的查詢?如何停止運行bigquery查詢

我使用網絡界面。首先,我對10k和20k行的表進行了一系列測試,響應時間在幾秒鐘之內。但比我跑100k行表上的三連接查詢,似乎千百秒後無止境。

我只是想在將所有工作轉移到bigquery前進行一些測試,但現在恐怕會花費整個每月100GB的免費限制+更多。

該表是一個簡單的鍵值對的整數值。

回答

6

shell命令bq cancel job_id現在可以做到這一點。您可以從BigQuery控制檯中的查詢歷史記錄選項卡中獲取job_id。如果您通過CLI開始查詢,它將會將job_id記錄爲標準輸出。

1

我們沒有找到一種方法來停止使用Java API的工作,並且據我所知,您無法在Web界面停止工作。

3

目前沒有辦法通過API或UI停止正在運行的查詢。您可以關閉查詢構建器(通過UI右上角的'x')並再次重新打開它,以使UI再次響應。我們目前正在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×m行,其中n是table1中的行數,m是table2中的行數。有沒有可能你的查詢做類似的事情?如果不是,你可以發送查詢嗎? (也許在另一個SO問題中,與慢連接性能有關)。

+0

嗨約旦。謝謝你的評價,這很有幫助。同時在一夜之間,我的windoz安裝了更新並重新開始自己丟失了所有的桌面工作,所以我甚至無法看到它是否完成了查詢。無論如何,這是查詢:'SELECT aa.e1,c.n_id_customer,count(*)from (select a.i_euvn as e1,b.i_euvn as e2 FROM [ovca.ovca100k] a join [ovca.ovca100k] b 上a.n_id_customer = b.n_id_customer)爲AA 加入[ovca.ovca100k]ç 上aa.e2 = c.i_euvn每個 組由1,2-爲了通過1,3-遞減;' – ulkas 2013-03-22 07:40:39

+0

我錯了,我可以看到查詢結果,生成15 080 486個結果行。 – ulkas 2013-03-22 07:43:49

+0

,奇怪的是資源使用並沒有改變。我仍然只有'每天處理的數據量爲 14 MB''雖然我確定查詢吃得更多 – ulkas 2013-03-22 07:47:04