Существует ограничение на количество элементов результата до 1048575.
Test: bq query --dry_run --nouse_legacy_sq "[replace query below]"
Query: select GENERATE_ARRAY(1, 1048575) as test_array;
Output: Query successfully validated. Assuming the tables are not modified, running this query will process 0 bytes of data.
Query: select GENERATE_ARRAY(1, 1048576) as test_arr;
Output: GENERATE_ARRAY(1, 1048576, 1) produced too many elements
В документации нет упоминания об этом ограничении, поэтому я предлагаю вам либо отправить документациюоставить отзыв на странице или подать запрос на добавление функции, чтобы увеличить лимит или, если возможно, удалить лимит.
Возможный обходной путь - конкатенация массива.Пример: SELECT ARRAY_CONCAT(GENERATE_ARRAY(1,1048575), GENERATE_ARRAY(1,1048575))...