В дополнение к существующим ответам также важно следующее:
Блоки на уровне ОС и блоки на уровне HDFS - это разные понятия.Если у вас есть файл 10 КБ в ОС, то это, по сути, означает выделение 3 блоков по 4 КБ, и в результате вы потребляете 12 КБ.Очевидно, что вы не хотите выделять большую часть вашего пространства для блоков, которые не заполнены, поэтому вам нужен небольшой размер блока.
Однако в HDFS содержимое блока определяет размер блока.Так что, если у вас есть 129 МБ, которые могут быть сохранены в 1 блоке 128 МБ и 1 блоке 1 МБ.(Я не уверен, будет ли это распространяться по-другому).
В результате вы не «потеряете» 127 МБ, которые не выделены.
Имея это в виду, вызахочет иметь сравнительно большой размер блока для оптимизации управления блоками.