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


Відповіді:


162

До 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за додатковою інформацією та деталями.


19
-du -s (-dus застаріло)
Карлос Рендон

69

hadoop fs -du -s -h /path/to/dir відображає розмір каталогу в зручній для читання формі.


Для нових версій hdfs hdfs -du -s -h /path/to/dirце доречніше.
Adelson Araújo

26

Поширюючи відповіді на Matt D та інші, команда може бути до Apache Hadoop 3.0.0

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

Він відображає розміри файлів і каталогів, що містяться в даному каталозі, або довжину файлу, якщо це просто файл.

Параметри:

  • Параметр -s призведе до сукупного підсумку довжин файлів , а не окремих файлів. Без опції -s обчислення здійснюється шляхом просування на 1 рівень углиб від заданого шляху.
  • Параметр -h відформатує розміри файлів зручно для читання (наприклад, 64,0 м замість 67108864)
  • Параметр -v відображатиме назви стовпців у вигляді заголовка.
  • -X опція виключає знімки з розрахунку результату. Без опції -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


12

Завдяки цьому ви отримаєте розмір у Гб

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

1
hdfs dfs -du ПАТОДОДИКТОРІЯ | awk '/ ^ [0-9] + / {print int ($ 1 / (1024 3) "[GB] \ t" $ 2}' - Будь ласка, оновіть свою команду. Дві закриваючі дужки після 1024 3. Має бути лише 1
gubs

2

При спробі підрахувати загальну кількість певної групи файлів у каталозі -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 

1

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


0

% використаного місця на кластері Hadoop
sudo -u hdfs hadoop fs –df

Ємність під певною папкою:
sudo -u hdfs hadoop fs -du -h /user


Я отримав помилку з "hdfs", як це працювало для мене: hadoop fs -du -h /user (мені не потрібно було користуватися sudo)
diens

sudoне потрібен і повинен використовуватися економно.
Climbs_lika_Spyder


0

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

-1

Команда повинна бути hadoop fs -du -s -h \dirPath

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

  • -s : Замість показу розміру кожного окремого файлу, який відповідає
    шаблону, відображається загальний (зведений) розмір.

  • -h : форматує розміри файлів зручно для читання, а не кількість байтів. (Напр. МБ / ГБ / ТБ тощо)

    Зауважте, що навіть без опції -s, це показує лише зведення розмірів на один рівень вглиб каталогу.

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


дублікат відповіді
mrsrinivas
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.