2016-10-02 2 views

ответ

1

Размер блока HDFS настолько огромен, чтобы минимизировать время поиска. Оптимальный размер блока зависит от среднего размера файла, времени поиска и скорости передачи.

Чем быстрее диск, тем больше блок данных, но есть предел.

Чтобы воспользоваться преимуществами разбиения на данные, они имеют одинаковый размер блоков данных, так как мы начинаем поток для каждого разделения, слишком большие блоки уменьшают параллелизм. Таким образом, наилучшим образом:

  1. Продолжайте искать время по низкой цене. (-> увеличить размер блока на быстром диске)
  2. Держите раскол не слишком низким. (-> уменьшить размер блока)
  3. Воспользуйтесь преимуществами данных. (-> сохранить раздельный размер как можно ближе к размеру блока)

128MB - сегодня хороший выбор на сегодняшний день скорости и размера диска и производительности вычислений.

+0

Думаю, для этого должна быть правильная причина. Я столкнулся с этим вопросом в интервью Deloitte. –

+0

https://community.hortonworks.com/questions/16278/best-practises-beetwen-size-block-size-file-and-re.html – ozw1z5rd

2

Есть несколько причин увеличения размера блока. Это улучшает производительность, если вы управляете большим кластером Hadoop из пета-байтов данных.

если вы управляете кластером 1 PETA байт, 64 MB результатов размера блока в 15+ миллионов блоков, которые трудно NameNode эффективно управлять.

Наличие большого количества блоков также приведет к появлению множества картографов при выполнении MapReduce.

В зависимости от ваших требований к данным, вы можете точно настроить dfs.blocksize

При правильной настройке размера блока (64Мб или 128 Мб или 256 Мб или 512 Мб), вы можете получение идеальной

  1. Улучшение производительности Namenode
  2. Улучшение производительности карты уменьшает работу, поскольку количество преобразователей напрямую зависит от размера блока.

Для получения более подробной информации обратитесь к этому link.

+0

Благодарим за ответ. Если это так, то почему размер блока по умолчанию не равен 128 МБ в Hadoop 1.x? –