Превышен ресурс во время выполнения запроса

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

Идентификатор работы: fast-chess-620: job_41Fq1q3zFGB3FsACtuAiymTOCIU (группа по каждому)

Идентификатор работы: fast-chess-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

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

1 ответ

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

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

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

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

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

licensed under cc by-sa 3.0 with attribution.