Size: a a a

2020 September 04

AZ

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

AZ

Anton Zadorozhniy in Data Engineers
у нас к примеру этому делу посвящены большие куски курсов и документации (при том что на лету оптимизатор сэмплирует очень хорошо), однозначного ответа нет и все зависит от ваших данных, запросов, размеров и загруженности системы
источник

D

Dmitry in Data Engineers
Anton Zadorozhniy
у нас к примеру этому делу посвящены большие куски курсов и документации (при том что на лету оптимизатор сэмплирует очень хорошо), однозначного ответа нет и все зависит от ваших данных, запросов, размеров и загруженности системы
хуже что сбор статистики тоже память жрет и может усугубить ситуацию. но в принципе ясно, волшебных кнопочек нет
источник

А

Алексей in Data Engineers
в хайве статистика по таблице собирается во время вставки
источник

А

Алексей in Data Engineers
если бд не поддерживает обновления, то собрать статистику по таблице выглядит не очень сложно
источник

А

Алексей in Data Engineers
если нужна статистика по столбцам, то отдельно запускать
источник

AZ

Anton Zadorozhniy in Data Engineers
Алексей
в хайве статистика по таблице собирается во время вставки
такую статистику которую хайв собирает при вставке любая СУБД знает и аппроксимирует, там же только число строк, файлов, объем данных и число партиций
источник

AZ

Anton Zadorozhniy in Data Engineers
обычно речь идет о колонках на путях соединений и основным фильтрам
источник

А

Алексей in Data Engineers
мин/макс колонки еще берется из заголовков файлов
источник

AZ

Anton Zadorozhniy in Data Engineers
у нас есть сказать collect stats <table_name> просто то СУБД ответит There are no statistics defined for the table
источник

А

Алексей in Data Engineers
у вас - это в террадате?
источник

А

Алексей in Data Engineers
про импалу просто никто так и не ответил)
источник

AZ

Anton Zadorozhniy in Data Engineers
Алексей
мин/макс колонки еще берется из заголовков файлов
источник

AZ

Anton Zadorozhniy in Data Engineers
Алексей
у вас - это в террадате?
угу
источник

А

Алексей in Data Engineers
это похоже для нового хайва, у меня только старые 1.2 и 2.1
источник

А

Алексей in Data Engineers
в старых hive.stats.column.autogather=false
источник

А

Алексей in Data Engineers
но можно попробовать включить
источник

А

Алексей in Data Engineers
и это заодно hive.compute.query.using.stats )
источник

AZ

Anton Zadorozhniy in Data Engineers
а, да, hive.stats.column.autogather был же
источник

AZ

Anton Zadorozhniy in Data Engineers
я правда не помню про заголовки файлов, мб так где они есть он берет, но для всяких авро и цсв наверное честно обсчитывает
источник