Получение «слишком большого запроса» в BigQuery

#google-bigquery

#google-bigquery

Вопрос:

Я храню данные о событиях в BigQuery, разделенные по дням — одна таблица в день. Следующий запрос не удался:

 select count(distinct event) 
from TABLE_DATE_RANGE(my_dataset.my_dataset_events_, SEC_TO_TIMESTAMP(1391212800), SEC_TO_TIMESTAMP(1393631999))
  

Размер каждой таблицы составляет около 8 ГБ.

Кто-нибудь еще сталкивался с этой ошибкой? Похоже, что это ограничено размером таблицы, потому что в этом запросе я ограничил его только одним столбцом. Когда я использую меньший временной диапазон, это работает.. но весь смысл использования BigQuery заключался в его поддержке больших наборов данных.

Комментарии:

1. привет, модераторы, пожалуйста, проголосуйте за повторное открытие вопроса, поскольку это не дублирующий вопрос (другая ошибка)

2. Круто, с нетерпением жду отличной обратной связи.

3. в любом случае попробуйте: выберите count (событие) из TABLE_DATE_RANGE (my_dataset.my_dataset_events_, SEC_TO_TIMESTAMP(1391212800), SEC_TO_TIMESTAMP (1393631999), сгруппируйте каждое по событию

4. Вопрос был повторно открыт. Я добавил ответ ниже. Извините, что отправил это в дублирующуюся корзину!

Ответ №1:

«Слишком большой запрос» в данном случае означает, что TABLE_RANGE внутренне расширяется до слишком большого количества таблиц, генерируя внутренний запрос, который слишком велик для обработки.

У этого есть 2 обходных пути:

  • Запрашивайте меньше таблиц (не могли бы вы объединить эти таблицы в одну большего размера?).
  • Подождите, пока команда BQ решит эту проблему внутренне. Вместо того, чтобы использовать обходной путь, вы должны иметь возможность запускать этот запрос без изменений. Только не сегодня :).

Комментарии:

1. Вы знаете, была ли эта проблема исправлена командой BQ сейчас, пожалуйста? (Я ожидаю, что ежедневные таблицы с 30 000 000 записей, размер которых будет не менее 5 ГБ).

2. Размер таблиц не является проблемой. Проблема заключается в запросе слишком большого количества таблиц. Не нужно беспокоиться о размере таблицы!

3. Хорошо, большое вам спасибо; вы не знаете, есть ли известное ограничение на количество таблиц, пожалуйста? например: если бы я хотел сгенерировать отчет за один год данных, в нем было бы задействовано не менее 365 таблиц. Является ли 365 таблиц, участвующих в одном запросе, чем-то нереальным? (обычно решение будет ограничено ежемесячными отчетами, поэтому будет задействована не более 31 таблицы, но у некоторых пользователей могут быть особые потребности ..)

4. Одна тысяча — это предел. Итак, 2 года ежедневных таблиц — это нормально.

5. Другим фактором является размер схемы таблиц: если таблицы имеют огромные схемы, фактический запрос запроса (который содержит схемы в виде метаданных) может стать слишком большим.