Я запускаю apache drill 1.0 (а затем и 1.4) локально на машине ubuntu, которая имеет 16 ГБ оперативной памяти. Когда я работаю с очень большой вкладки файл с разделителями (52 миллионов строк, 7GB), а также выполнятьApache Drill не использует max RAM
Select distinct columns[0] from `table.tsv`
, производительность, кажется, не улучшается вообще во второй раз тот же запрос побежал (и занял 53 секунд). Обычно второй раз, когда выполнялся тот же запрос, он занимает меньше половины времени по сравнению с первым запросом. Похоже, что Drill не использует всю выделенную память.
Мой конф/drill-env.sh файл выглядит следующим образом:
DRILL_MAX_DIRECT_MEMORY="14G"
DRILL_HEAP="14G"
export DRILL_JAVA_OPTS="-Xms$DRILL_HEAP -Xmx$DRILL_HEAP -XX:MaxDirectMemorySize=$DRILL_MAX_DIRECT_MEMORY -XX:MaxPermSize=14G -XX:ReservedCodeCacheSize=1G -Ddrill.exec.enable-epoll=true"
Я также сделал это в сверлом
alter system set `planner.memory.max_query_memory_per_node`=12884901888
Однако, когда я проверить использование памяти с помощью SMEM, это только с помощью около 5 ГБ оперативной памяти.
Если я сократить размер таблицы в только 1 миллион подряда, я могу увидеть первый запрос завершен в 3.6seconds и во второй раз тот же самый запрос выбежал, потребовалось всего 1,8 секунды
Что мне не хватает?
Это не ответит на вопрос. Если у вас есть другой вопрос, вы можете задать его, нажав [Ask Question] (https://stackoverflow.com)./questions/ask). Вы также можете [добавить баунти] (https://stackoverflow.com/help/privileges/set-bounties), чтобы нарисовать mor Обратите внимание на этот вопрос, как только у вас будет достаточно [репутации] (https://stackoverflow.com/help/whats-reputation). - [Из обзора] (/ review/low-quality-posts/18547918) –