Найти в Дзене
Властелин машин

Главные команды распределенной файловой системы Hadoop

Оглавление

Специалистам, работающим с огромными массивами данных, необходимо осваивать большие технологии. Об одной из них и пойдет речь в этой статье.

Hadoop - это проект фонда Apache Software Foundation, предназначенный для распределенного хранения и распределенной обработки данных в кластере, содержащем множество узлов. За первую функцию отвечает распределенная файловая система Hadoop (Hadoop distributed file system, HDFS). Взаимодействие с ней во многом напоминает работу с файловой системой Linux.

Для работы с HDFS будем использовать виртуальную машину Hortonworks Data Platform (HDP), о настройках которой речь шла в прошлой статье. Итак, после загрузки виртуальной машины запускаем интерфейс командной строки по адресу 127.0.0.1:4200 и проходим аутентификацию. Теперь можно приступить к взаимодействию с HDFS.

Диагностика HDFS

Для вывода отчета о работе системы можно набрать команду:

hdfs dfsadmin -report

Работа с папками

Просмотр

Для просмотра содержимого директории набираем:

hdfs dfs -ls путь

Например, просмотрим корневую директорию:

-2

Обратите внимание, что эта и многие последующие команды имеют схожее с Linux содержимое, только начинаются с "hdfs dfs -".

Создание

Для создания директории следует набрать:

hdfs dfs -mkdir путь_с_именем

Создадим в корне папку data, куда будем помещать наборы данных для работы:

-3

Удаление

Для удаления директории следует набрать команду:

hdfs dfs -rm -r путь_с_именем

Удалим папку data:

-4

Работа с файлами

Создание

Для создания файла можно набрать следующую команду:

hdfs dfs -touchz путь_с_именем_файла

Создадим в корневой папке директорию data и в ней файл 1.txt:

-5

Удаление

Для удаления файла следует набрать команду:

hdfs dfs -rm -r путь_с_именем_файла

Удалим файл /data/1.txt:

-6

Перемещение файла из локальной системы в папку на кластере

Сначала скачаем файл в локальную файловую систему (предварительно опять создаем удаленную выше папку data) посредством команды:

wget -q ссылка -O путь_с_названием_к_локальному_объекту

-7

Затем переносим файл из локальной системы в кластер с помощью следующей команды:

hdfs dfs -put путь_с_названием_к_локальному_объекту путь_с_названием_в_кластере

-8

Перемещение файла из кластера в локальную систему

Для этого воспользуемся следующей командой:

hdfs dfs -get путь_с_названием_в_кластере путь_с_названием_к_локальному_объекту

-9

Копирование файлов между папками в кластере

Создадим еще одну директорию data2 и перенесем туда файл pushkin из data. Для этого можно воспользоваться командой, имеющей следующий вид:

hdfs dfs -cp путь_откуда путь_куда

-10

Перемещение или переименование файлов

Для этого можно воспользоваться следующей командой:

hdfs dfs -mv путь_откуда путь_куда
Переместим файл pushkin из папки data2 в data c новым именем pushkin2:

-11

Отображение содержимого файлов

Для отображения содержимого файла можно использовать следующую команду:

hdfs dfs -cat путь_с_названием_в_кластере

либо, если файл большой, можно отобразить только последний килобайт:

hdfs dfs -tail путь_с_названием_в_кластере

А какие еще команды для работы с HDFS часто используете вы?