Я пытаюсь СОЗДАТЬ таблицу, используя CREATE TABLE AS
, что дает следующую ошибку:
[Amazon](500310) Invalid operation: Out Of Memory:
Details:
-----------------------------------------------
error: Out Of Memory:
code: 1004
context: alloc(524288,MtPool)
query: 6041453
location: alloc.cpp:405
process: query2_98_6041453 [pid=8414]
-----------------------------------------------;
Я получаю эту ошибку каждый раз, когда выполняю запрос, но выполнение только SELECT
части запроса (без CREATE TABLE AS
) работает нормально. Результат имеет около 38 тыс. строк. Однако я вижу существенную разницу в байтах, возвращаемых при последовательном сканировании одной таблицы.
ВЫБРАТЬ
Я не понимаю, почему между этими двумя сценариями такая большая разница и что можно сделать, чтобы смягчить ее. Я также пытался создать TEMP TABLE
, но это также приводит к ошибке памяти.
Я плохо разбираюсь в планах запросов (никогда не находил подробного руководства по Redshift, поэтому, если бы вы могли дать ссылку на какой-нибудь ресурс, это было бы бонусом).
Обновление: также попытался сначала создать таблицу, а затем ВСТАВИТЬ данные с помощью SELECT, что также дает ту же ошибку.
Обновление 2. Пробовал set wlm_query_slot_count to 40;
или даже 50
, но все равно та же ошибка.