Сравнение производительности между Filename Matching Vs.Обрезка перегородок - PullRequest
0 голосов
/ 27 октября 2018

У меня проблема с тем, что каждые 15 минут создаются файлы, поэтому через месяц у меня будет ~ 2880 файлов.Через год у меня будет 35 000 файлов!Компактность может быть опцией, которая будет означать, что у меня 1 паркетный файл в час = 8760 файлов!

Однако мне было интересно, как сравнивает имена файлов , используя "$path", отличается от использования перегородки ?Сокращение разделов выполняется в одном потоке и не распространяется на кластер Hadoop.Таким образом, если у меня 35 000 файлов, разделенных на год = ???? / день = 365 / час = 24/4 файла каждый, тогда Будет ли производительность сравнения имен файлов такой же, как при использовании сокращения разделов?

PS: я знаю, что могу архивировать старые файлы.

Афина Оптимизация

1 Ответ

0 голосов
/ 05 ноября 2018

Существуют значительные накладные расходы на обработку разбиения, поэтому практически всегда лучше отфильтровать их по координатору.По той же причине вы хотите избежать большого количества маленьких файлов (хотя я не знаю, являются ли ваши файлы за 15 минут маленькими). ​​

Теперь условия сокращения разделов и "$path" оцениваются каккоординатор (если возможно, например, условие "$path" не использует другие столбцы и т. д.), поэтому они должны вести себя одинаково.

Обратите также внимание, что наличие очень большого количества небольших разделов может привести к проблемам с производительностью в некоторыхобласти кода (ничего конкретного, но это было проблемой не раз в прошлом).Таким образом, вы можете захотеть иметь большие разделы в любом случае.

...