Подтвердить что ты не робот

Способ проверки размера каталога HDFS?

Я знаю du -sh в общих файловых системах Linux. Но как это сделать с HDFS?

4b9b3361

Ответ 1

До 0.20.203 и официально устарели в 2.6.0:

hadoop fs -dus [directory]

Так как 0.20.203 (мертвая ссылка) 1.0.4 и по-прежнему совместимы с помощью 2.6.0:

hdfs dfs -du [-s] [-h] URI [URI …]

Вы также можете запустить hadoop fs -help для получения дополнительной информации и спецификаций.

Ответ 2

hadoop fs -du -s -h /path/to/dir отображает размер каталога в читаемой форме.

Ответ 3

Расширение до Мэтта D и других ответов, команда может быть до Apache Hadoop 3.0.0

hadoop fs -du [-s] [-h] [-v] [-x] URI [URI ...]

Он отображает размеры файлов и каталогов, содержащихся в данном каталоге, или длину файла, если это просто файл.

Опции:

  • Параметр -s приведет к отображению сводной сводки длин файлов, а не отдельных файлов. Без опции -s вычисление выполняется на 1 уровень ниже указанного пути.
  • Параметр -h будет форматировать размеры файлов удобочитаемым способом (например, 64,0 м вместо 67108864)
  • Опция -v отображает имена столбцов в виде строки заголовка.
  • Опция -x option will исключает моментальные снимки из расчета результата. Без опции -x (по умолчанию) результат всегда рассчитывается по всем INodes, включая все снимки по заданному пути.

Du возвращает три столбца в следующем формате:

 +-------------------------------------------------------------------+ 
 | size  |  disk_space_consumed_with_all_replicas  |  full_path_name | 
 +-------------------------------------------------------------------+ 

Пример команды:

hadoop fs -du /user/hadoop/dir1 \
    /user/hadoop/file1 \
    hdfs://nn.example.com/user/hadoop/dir1 

Код выхода: возвращает 0 в случае успеха и -1 в случае ошибки.

Источник: Apache Doc

Ответ 4

С этим вы получите размер в GB

hdfs dfs -du PATHTODIRECTORY | awk '/^[0-9]+/ { print int($1/(1024**3)) " [GB]\t" $2 }'

Ответ 5

При попытке вычислить общее количество определенной группы файлов в каталоге опция -s не работает (в Hadoop 2.7.1). Например:

Структура каталогов:

some_dir
├abc.txt    
├count1.txt 
├count2.txt 
└def.txt    

Предположим, что каждый файл имеет размер 1 КБ. Вы можете суммировать весь каталог с помощью:

hdfs dfs -du -s some_dir
4096 some_dir

Тем не менее, если я хочу, чтобы сумма всех файлов, содержащих "count", команда терпит неудачу.

hdfs dfs -du -s some_dir/count*
1024 some_dir/count1.txt
1024 some_dir/count2.txt

Чтобы обойти это, я обычно пропускаю вывод через awk.

hdfs dfs -du some_dir/count* | awk '{ total+=$1 } END { print total }'
2048 

Ответ 6

Чтобы получить размер каталога hdfs dfs -du -s -h/$yourDirectoryName, можно использовать. hdfs dfsadmin -report можно использовать для просмотра отчета о быстром хранении кластерного уровня.

Ответ 7

% используемого пространства в кластере Hadoop
sudo -u hdfs hadoop fs –df

Емкость под конкретную папку:
sudo -u hdfs hadoop fs -du -h/user

Ответ 8

Hadoop версия 2.3.33:

hadoop fs -dus  /path/to/dir  |   awk '{print $2/1024**3 " G"}' 

enter image description here

Ответ 9

hdfs dfs -count <dir>

информация со страницы руководства:

-count [-q] [-h] [-v] [-t [<storage type>]] [-u] <path> ... :
  Count the number of directories, files and bytes under the paths
  that match the specified file pattern.  The output columns are:
  DIR_COUNT FILE_COUNT CONTENT_SIZE PATHNAME
  or, with the -q option:
  QUOTA REM_QUOTA SPACE_QUOTA REM_SPACE_QUOTA
        DIR_COUNT FILE_COUNT CONTENT_SIZE PATHNAME

Ответ 10

Команда должна быть hadoop fs -du -s -h \dirPath

  • -du [-s] [-h]...: Показывать объем пространства в байтах, используемый файлами, соответствующими указанному шаблону файла.

  • -s: вместо того, чтобы показывать размер каждого отдельного файла, который соответствует       pattern, показывает общий (итоговый) размер.

  • -h. Форматирует размер файлов в удобном для восприятия человеком формате, а не в количестве байтов. (Ex MB/GB/TB и т.д.)

    Обратите внимание, что даже без опции -s это отображает только итоговые суммы одного уровня глубоко в каталог.

    Выход находится в форме   имя размера (полный путь)