Как обсуждалось в нескольких других вопросах ( здесь и здесь ), команда hadoop fs -du -s -h
(или эквивалентно hdfs dfs -s -h
) показывает два значения:
- Чистый размер файла
- Размер файла с учетом репликации
, например
19.9 M 59.6 M /path/folder/test.avro
Поэтому обычно мы ожидаем, что второе число будет в 3 раза больше первого числа в нашем кластере с коэффициентом репликации 3.
Но при недавней проверке работающего Spark первое число составляло 246,9 К, а второе - 3,4 ГБ - примерно в 14 000 раз больше!
Указывает ли это на проблему? Почему реплицированный размер не в 3 раза больше исходного?
Это потому, что одно из значений учитывает размер блока, а другое - нет?
Документация Hadoop по этой команде не очень полезна, указав только:
Ду возвращает три столбца в следующем формате
size disk_space_consumed_with_all_replicas full_path_name