2013-03-21 10 views
5

Czy istnieje sposób anulowania uruchomionego zapytania?jak zatrzymać kwerendę o dużej kwerendie

Używam interfejsu internetowego. Najpierw przeprowadziłem serię testów na stołach 10k i 20k wierszy, a odpowiedź była w sekundach. ale po uruchomieniu zapytania potrójnego łączyć na stole z 100 tys. wierszy i wydaje się nie mieć końca po tysiącach sekund.

Po prostu chciałem przeprowadzić kilka testów przed przeniesieniem całej pracy do bigquery, ale teraz obawiam się, że wyda cały miesięczny limit 100 GB + więcej.

tabela jest prostą parą klucz-wartość wartości całkowitych.

Odpowiedz

6

Polecenie powłoki bq cancel job_id zrobi to teraz. Możesz pobrać job_id z zakładki Historia zapytań w konsoli BigQuery. Jeśli kwerenda została uruchomiona za pośrednictwem interfejsu CLI, zarejestrował on numer job_id na standardowe wyjście.

1

Nie znaleźliśmy sposobu na zatrzymanie zadań podczas korzystania z interfejsu API języka Java i o ile wiem, nie można zatrzymać pracy w interfejsie internetowym.

3

Nie ma sposobu, aby zatrzymać uruchomione zapytanie za pośrednictwem interfejsu API lub interfejsu użytkownika. Możesz zamknąć kreator zapytań (za pomocą znaku "x" w prawym górnym rogu interfejsu użytkownika) i ponownie otworzyć go, aby ponownie ustawić interfejs użytkownika. Obecnie pracujemy nad tą funkcją w interfejsie użytkownika.

Zaskakujące jest to, że kwerenda zajęłaby tyle czasu, nawet dla łączenia, dla tabel o tym rozmiarze, chyba że łączenie było łączone na nieunikalnych kluczach, więc poświęcenie czasu generowało produkty krzyżowe pasujących kluczy. Np

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 

wygeneruje n x m wierszy, gdzie n oznacza liczbę bloków rzędach Tabela 1 oraz m oznacza liczbę wierszy tabeli2. Czy jest jakaś szansa, że ​​twoje zapytanie robi coś podobnego? Jeśli nie, czy możesz wysłać zapytanie? (być może w innym pytaniu dotyczącym SO, związanym z powolnym osiągnięciem przy dołączaniu).

+0

cześć jordan. dziękuję za pomoc, to było pomocne. w międzyczasie moje windoz zainstalował aktualizacje i zrestartował się, aby stracić całą moją pracę na komputerze, więc nie mogę nawet sprawdzić, czy zakończyło to zapytanie, czy nie. tak czy inaczej, było to zapytanie: SELECT aa.e1, c.n_id_customer, count (*) from (wybierz a.i_euvn jako e1, b.i_euvn jako e2 FROM [ovca.ovca100k] a join [ovca.ovca100k] b na a.n_id_customer = b.n_id_customer) jako aa przyłączenia [ovca.ovca100k] c na aa.e2 = c.i_euvn grupy każdego rzędu od 1,2 o 1,3 desc; ' – ulkas

+0

myliłem Widzę wynik zapytania, wygenerowałem 15 080 486 wierszy wyników. – ulkas

+0

i dziwne jest to, że użycie zasobów w ogóle się nie zmieniło. Nadal mam tylko "Przetwarzane dane na dzień 14 MB", chociaż jestem pewien, że zapytanie zjadło znacznie więcej. – ulkas

Powiązane problemy