Vertica: не удается выделить достаточно памяти для оператора COPY (запрошено 536870912, разрешено 268435456) - PullRequest
0 голосов
/ 05 февраля 2020

Я получаю эту ошибку при попытке запустить команду копирования таблицы для загрузки JSON. Я также попытался создать пул ресурсов с более высокими значениями MAXQUERYMEMORYSIZE, QUERY_BUDGET_KB и MEMORY SIZE, но все еще получал ту же ошибку. Как убедиться, что запрос был запущен в указанном c пуле памяти?

ниже приведена команда:

copy_user=> copy test_load from local '/home/dbadmin/test.json' PARSER fjsonparser() rejected data as table test_load_rejected;
ERROR 2344:  Cannot allocate sufficient memory for COPY statement (536870912 requested, 268435456 permitted)
HINT:  This can happen if you have very wide rows, or if you have specified an incorrect record terminator.
       (Check your escaping -- for example, "'\t'" is not a tab; you must use "E'\t'".)
       It can also happen if you are reading from a corrupted compressed file

dbadmin=> SELECT query_budget_kb FROM resource_pool_status WHERE node_name ilike '%0001%' ORDER BY query_budget_kb desc;

 pool_name | memory_size_kb | max_memory_size_kb | planned_concurrency | max_concurrency | query_budget_kb 
-----------+----------------+--------------------+---------------------+-----------------+-----------------
 copy_pool |              0 |          173225413 |                   1 |                 |       164564128
...