Команды HDFS

Опубликовано: 30 Ноября, 2021

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

 sbin / start-all.sh

Чтобы проверить, что службы Hadoop запущены и работают, используйте следующую команду:

 jps

Команды:

  1. ls: эта команда используется для вывода списка всех файлов. Используйте lsr для рекурсивного подхода. Это полезно, когда нам нужна иерархия папки.

    Синтаксис:

     bin / hdfs dfs -ls <путь>

    Пример:

     bin / hdfs dfs -ls /

    Он распечатает все каталоги, присутствующие в HDFS. Каталог бен содержит исполняемые файлы так, BIN / HDFS означает , что мы хотим , исполняемые файлы HDFS особенно DFS команд (Distributed File System).

  2. mkdir : для создания каталога. В Hadoop dfs по умолчанию нет домашнего каталога. Итак, давайте сначала создадим его.

    Синтаксис:

    bin / hdfs dfs -mkdir <имя папки>
    
    создание домашнего каталога:
    
    hdfs / bin -mkdir / пользователь
    hdfs / bin -mkdir / user / username -> напишите имя пользователя вашего компьютера 
    

    Пример:

    bin / hdfs dfs -mkdir / geeks => '/' означает абсолютный путь
    bin / hdfs dfs -mkdir geeks2 => Относительный путь -> папка будет 
                                      создан относительно домашнего каталога.
    

  3. touchz : Создает пустой файл.

    Синтаксис:

     bin / hdfs dfs -touchz <путь-к-файлу>

    Пример:



     bin / hdfs dfs -touchz /geeks/myfile.txt

  4. copyFromLocal (или) put: для копирования файлов / папок из локальной файловой системы в хранилище hdfs. Это самая важная команда. Локальная файловая система означает файлы, присутствующие в ОС.

    Синтаксис:

     bin / hdfs dfs -copyFromLocal <путь к локальному файлу> <dest (присутствует на hdfs)>

    Пример: Предположим, у нас есть файл AI.txt на рабочем столе, который мы хотим скопировать в папку компьютерных фанатов, присутствующую на hdfs.

    bin / hdfs dfs -copyFromLocal ../Desktop/AI.txt / geeks
    
    (ИЛИ ЖЕ)
    
    bin / hdfs dfs -put ../Desktop/AI.txt / geeks
    

  5. cat: для печати содержимого файла.

    Синтаксис:

     bin / hdfs dfs -cat <путь>

    Пример:

    // выводим содержимое существующего AI.txt
    // внутри папки гиков.
    bin / hdfs dfs -cat /geeks/AI.txt ->
    

  6. copyToLocal (или) get: для копирования файлов / папок из хранилища hdfs в локальную файловую систему.

    Синтаксис:

     bin / hdfs dfs -copyToLocal << srcfile (на hdfs)> <место назначения локального файла>

    Пример:

    bin / hdfs dfs -copyToLocal / geeks ../Desktop/hero  
    
    (ИЛИ ЖЕ)
    
    bin / hdfs dfs -get /geeks/myfile.txt ../Desktop/hero
    

    myfile.txt из папки geeks будет скопирован в папку hero, присутствующую на рабочем столе .

    Примечание: обратите внимание, что мы не пишем bin / hdfs при проверке вещей, присутствующих в локальной файловой системе.

  7. moveFromLocal: эта команда переместит файл из локального в hdfs.

    Синтаксис:

     bin / hdfs dfs -moveFromLocal <локальный источник> <назначение (на hdfs)>

    Пример:

     bin / hdfs dfs -moveFromLocal ../Desktop/cutAndPaste.txt / компьютерщики

  8. cp: эта команда используется для копирования файлов в hdfs. Давайте скопируем папку geeks в geeks_copied .

    Синтаксис:

     bin / hdfs dfs -cp <src (на hdfs)> <dest (на hdfs)>

    Пример:

     bin / hdfs -cp / geeks / geeks_copied

  9. mv: эта команда используется для перемещения файлов внутри hdfs. Давайте скопируем и вставим файл myfile.txt из папки geeks в geeks_copied.

    Синтаксис:

     bin / hdfs dfs -mv <src (на hdfs)> <src (на hdfs)>

    Пример:

     bin / hdfs -mv /geeks/myfile.txt / geeks_copied

  10. rmr: эта команда рекурсивно удаляет файл из HDFS. Это очень полезная команда, когда вы хотите удалить непустой каталог .

    Синтаксис:

     bin / hdfs dfs -rmr <имя файла / имя каталога>

    Пример:

    bin / hdfs dfs -rmr / geeks_copied -> Он удалит все содержимое внутри 
                                           каталог, затем сам каталог.
    

  11. du: Это даст размер каждого файла в каталоге.

    Синтаксис:

     bin / hdfs dfs -du <имя_каталога>

    Пример:

     bin / hdfs dfs -du / компьютерщики

  12. dus:: Эта команда даст общий размер каталога / файла.

    Синтаксис:

     bin / hdfs dfs -dus <имя_каталога>

    Пример:

     bin / hdfs dfs -dus / geeks

  13. stat: будет указано время последнего изменения каталога или пути. Короче говоря, он даст статистику каталога или файла.

    Синтаксис:

     bin / hdfs dfs -stat <файл hdfs>

    Пример:

     bin / hdfs dfs -stat / geeks

  14. setrep: эта команда используется для изменения коэффициента репликации файла / каталога в HDFS. По умолчанию это 3 для всего, что хранится в HDFS (как установлено в hdfs core-site.xml ).

    Пример 1. Чтобы изменить коэффициент репликации на 6 для geeks.txt, хранящегося в HDFS.

     bin / hdfs dfs -setrep -R -w 6 geeks.txt

    Пример 2: Чтобы изменить коэффициент репликации на 4 для каталога geeksInput, хранящегося в HDFS.

     bin / hdfs dfs -setrep -R 4 / вундеркинды

    Примечание: -w означает дождаться завершения репликации. И -R означает рекурсивно, мы используем его для каталогов, так как они также могут содержать много файлов и папок внутри них.

Примечание. В HDFS есть больше команд, но мы обсудили команды, которые обычно используются при работе с Hadoop. Вы можете проверить список команд dfs, используя следующую команду:

 bin / hdfs dfs