Что является обоснованием различных размеров файлов журналов, используемых в HDFS - PullRequest
0 голосов
/ 20 января 2012

В настоящее время я работаю над внедрением системы регистрации для нового кластера Hadoop, который я настроил.Я всегда видел эти настройки в прошлом, когда журналы делились по дням с отдельными файлами, размер которых примерно в 10 раз превышал размер блока HDFS.У меня не было проблем с этой методологией, когда мне нужно было ее использовать, но после обсуждения с коллегой, который хотел хранить журналы в одном длинном файле, я понял, что не совсем уверен, почему методология 10x, которую я упомянулиспользовался.Я могу подумать о следующих причинах:

  1. задания mapreduce будут выполняться значительно быстрее, если нас интересует только пара дней.
  2. файлы могут быть заархивированы / tar'd /lzo'd для экономии места.

Есть ли другие?Я действительно не мог понять, почему люди шардируют файлы в течение одного дня по уровню размера блока HDFS 10x.Я полагаю, что для моих теоретических знаний было бы очень полезно узнать больше о философии, почему журналы хранятся в разных размерах.

1 Ответ

0 голосов
/ 21 января 2012

Чем больше ваши файлы, тем лучше работа JobTracker будет выполнять планирование ваших работ. Супер маленькие файлы будут означать много задач, которые приведут к плохой производительности. Однако наличие огромных файлов не позволяет запрашивать только части вашего набора данных. Вам нужно найти баланс между тем, сколько данных вы производите в день, и насколько большими будут ваши файлы. Если вы можете производить 10-кратный размер блока в день, то иметь файл в день - таким образом, вам будет легко запрашивать только 5 дней. В противном случае рассмотрите возможность создания задания ETL для объединения файлов.

...