Ресурсы превысили BigQuery - PullRequest
       3

Ресурсы превысили BigQuery

0 голосов
/ 12 декабря 2018

При выполнении следующего запроса я получил ошибку:

Ресурсы превышены во время выполнения запроса: запрос не может быть выполнен в выделенной памяти.Пиковое использование: 158% от лимита.Главный потребитель (и) памяти: операции сортировки, используемые для аналитических выражений OVER (): 98%, другие / нераспределенные: 2%

select *, row_number() over(PARTITION BY Column_A ORDER BY Column_B)
from
(SELECT
*
FROM
  Table_1 UNION ALL
SELECT
  *
FROM
  Table_2 UNION ALL
SELECT
  *
FROM
  Table_3
)

Может кто-нибудь помочь мне, как изменить этот запрос, или есть вероятность, что мы можемизменить лимит памяти в bigquery?

Ответы [ 2 ]

0 голосов
/ 12 декабря 2018

Вы можете попробовать OVER, не используя ORDER BY

0 голосов
/ 12 декабря 2018

Welcome Aaron,

Эта ошибка означает, что BigQuery не может обработать весь запрос из-за ограничений памяти, функция ORDER BY требует большого объема памяти, попробуйте удалить ее, и я ожидаю, что ваш запрос будет работать нормально.

Если вам нужны упорядоченные результаты, попробуйте записать неупорядоченный запрос в таблицу, а затем запустите новый запрос для этой таблицы, чтобы упорядочить результаты.

Если вам интересно.Вот интересная статья о том, как и BigQuery выполняет в памяти: https://cloud.google.com/blog/products/gcp/in-memory-query-execution-in-google-bigquery

Я не верю, что вы можете переопределить или изменить этот предел памяти, но рад, что вы ошиблись.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...