У меня есть следующий запрос в BigQuery Legacy SQL. Пока этот запрос выполняется без проблем.
#legacySQL
SELECT
Var1 AS Var1,
Var2 AS Var2,
Var3 AS Var3,
Var4 AS Var4,
FROM
TABLE_DATE_RANGE([xxx.yyy_], DATE_ADD(CURRENT_TIMESTAMP(), -33, 'DAY'), DATE_ADD(CURRENT_TIMESTAMP(), -1, 'DAY'))
После того, как мы хотим шаг за шагом переместить все наши запросы в StandardSQL, новый запрос был написан в StandardSQL следующим образом.
#standardSQL
SELECT
Var1 AS Var1,
Var2 AS Var2,
Var3 AS Var3,
Var4 AS Var4,
FROM
`xxx.yyy_20*`
WHERE
parse_date('%y%m%d', _table_suffix) between DATE_ADD(CURRENT_DATE(), INTERVAL -33 DAY) AND DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
Однако этот запрос больше не выполняется, тогда как вариант с LegacySQL работает нормально. Я получаю следующее сообщение об ошибке: Ошибка: слишком большой ответ для возврата. Подумайте о том, чтобы установить для параметра allowLargeResults значение true в вашей конфигурации задания.
Вариант с _table_suffix настолько менее производительный? Или есть альтернатива? Я использую Table_Date_Range для запроса около 400 таблиц.
Я хотел бы сохранить результаты в виде представления и не должен записывать их в таблицу через "AllowLargeResults".
Большое спасибо!