Сбой запроса Bigquery «Ресурсы превышены во время выполнения запроса: метаданные таблицы, используемые для запроса, слишком велики» - PullRequest
0 голосов
/ 13 июня 2019

Я получаю сообщение об ошибке

"Ресурсы превышены во время выполнения запроса: слишком большие метаданные таблицы, использованные для запроса"

при выполнении этого запроса:

SELECT
  EXACT_COUNT_DISTINCT(a.id)
FROM (
  SELECT
    id
  FROM (TABLE_DATE_RANGE([*****],
        TIMESTAMP('2019-4-1'),
        TIMESTAMP('2019-4-22')))
  GROUP BY
    id) AS a
JOIN (
  SELECT
    id
  FROM (TABLE_DATE_RANGE([*****],
        TIMESTAMP('2017-1-1'),
        TIMESTAMP('2018-12-31')))
  GROUP BY
    id) AS b
ON
  a.id = b.id

Если я изменю TIMESTAMP('2017-1-1'),TIMESTAMP('2018-12-31') на TIMESTAMP('2018-1-1'),TIMESTAMP('2018-12-31'), это будет работать.Что-нибудь, что я могу сделать, чтобы исправить это без изменения TIMESTAMP?

1 Ответ

1 голос
/ 13 июня 2019

Во-первых, почему вы используете устаревший SQL, а не стандартный SQL?

Во-вторых, вы агрегируете каждый из подзапросов по id, поэтому дубликатов нет. Вам не нужно считать различные идентификаторы во внешнем запросе COUNT(*) делает то же самое. Это может решить проблему.

...