2014-09-23 3 views
1

Следующий запрос запущен в Ресурс, превышенный при выполнении запроса Ошибка при создании запроса. Обработанные данные составляют около 700 МБ, что не так много, как показано на консоли bigquery. Мы используем группу по, потому что при использовании группы по мы получаем ту же ошибку вместе с предложением использовать группу по. Ассоциированный идентификатор задания являетсяресурс превышен во время выполнения запроса

Работа ID: быстро шахматно-620: job_41Fq1q3zFGB3FsACtuAiymTOCIU (группа каждый по)

Работа ID: быстро шахматно-620: job_VVd2jPGX-nHsdZW5GlEU6bBgpnU (группа по)

select col_1,col_2, count(col_3) from 
(select col_1, col_2, col_3 from 
(select col_1, date(sec_to_timestamp(col_4)) as col_2, count(col_5) as col_3 from 
(TABLE_DATE_RANGE(table_prefix_1_, 
date_add(usec_to_timestamp(utc_usec_to_month(now())), -6, "MONTH"), 
date_add(usec_to_timestamp(utc_usec_to_month(now())), -1, "MONTH"))), 
(TABLE_DATE_RANGE([table_prefix_2_], 
usec_to_timestamp(utc_usec_to_month(now())), 
usec_to_timestamp(utc_usec_to_day(now())))) 
group each by 1,2 order by 1,2) x) x 
group each by 1,2 order by 1,2 

Не могли бы вы помочь нам решить проблему.

+0

Сколько времени требуется для завершения? – Mario

ответ

3

Похоже, проблема заключается в ORDER BY. См. Ответ на стеку here.

Рассматривая журналы для вашего запроса, группа производит более 15 миллионов результатов. Чтобы отсортировать их, bigquery должен выполнить операцию сортировки в одном узле.

Действительно ли вам нужен отсортированный результат? Если да, вам нужны все результаты? Если вы используете ORDER BY с LIMIT, он должен преуспеть, так как он может просто удерживать верхние значения.

Вы должны быть в состоянии получить этот запрос успешно работать, если вы:

  1. Использование GROUP BY КАЖДОГО (который у вас уже есть) как для GROUP BY операций.
  2. Отбросьте внутренний ORDER BY, поскольку он фактически не помогает, так как внешний запрос переупорядочивает вещи.
  3. Возможно, это будет работать только с # 1 и # 2, но я также предлагаю либо сбросить внешний ORDER BY, либо добавить ограничение LIMIT.
Смежные вопросы