на счет Impala и spill to disk, добрался до админки - вроде все включено, вижу что у здоровых запросов счетчики spill более нуля. значит работает. но все равно регулярно получаем вылеты по памяти. из недавнего селект * без джоина на табличку в 40мб отожрал 20гб и вылител по лимиту. единственно там статистики не было совсем, сбор статистики выправил ситуацию.
может после каждой загрузки стоит тотально на все собирать статистики ?
я не помню уже как там статистика в импале устроена, но общая практика в нормальных СУБД это собирать статистику только когда оптимизатор не справляется (или не может принять нормальное решение на базе сэмпла), иначе есть риск того что ваша система только и будет что собирать статистику