Hadoop - клиент командной строки Python Snakebite, его использование и ссылки на команды

Опубликовано: 18 Февраля, 2022

Python Snakebite поставляется с клиентом CLI (интерфейс командной строки), который представляет собой клиентскую библиотеку на основе HDFS. Имя хоста или IP-адрес NameNode и RPC-порт NameNode должны быть известны для использования интерфейса командной строки python snakebite. Мы можем перечислить все эти значения портов и имя хоста, просто создав наш собственный файл конфигурации, который содержит все эти детали NameNode, такие как имя хоста Localhost и порт RPC (Remote Procedure Call). В нашей демонстрации мы будем использовать более простой способ использования snakebite CLI, напрямую передав значения этого порта и хоста самой команде. Удаленный вызов процедур или RPC - это способ динамического распределения порта, который используется для серверов и приложений удаленного администрирования.

Значения, которые мы здесь используем для имени хоста и значения порта, можно найти в файле hadoop / etc / hadoop / core-site.xml в свойстве fs.default.name в вашей системе. Мы можем посетить документацию Snakebite CLI, чтобы получить дополнительную информацию о конфигурации Snakebite CLI.

Мы также можем проверить значение свойства fs.default.name с помощью следующей команды.

 hdfs getconf -confKey fs.defaultFS # Мы также можем использовать fs.default.name, но fs.defaultFS наиболее подходит

Давайте посмотрим значение свойства fs.default.name вручную в файле core-site.xml в нашей системе, чтобы узнать хост или порт.

Мы видим, что наш хост по умолчанию - localhost или порт - 9000 .

Использование интерфейса командной строки Snakebite

С помощью python snakebite CLI мы можем легко реализовать большинство команд, которые мы используем с hdfs dfs, такие как ls, mv, rm, put, get, du, df и т. Д. Итак, давайте выполним некоторые базовые операции, чтобы понять, как Snakebite CLI работает.

Использование Snakebite CLI по пути в командной строке - например: hdfs: // namenode_host: port / path

1. Список всех доступных каталогов в корневом каталоге HDFS.

Синтаксис:

 змеиный укус ls hdfs: // локальный: 9000 / <путь>

Пример:

 snakebite ls hdfs: // локальный: 9000 /

2. Удаление файла из HDFS

Синтаксис:

snakebite rm  hdfs://localhost:9000/<file_path_with_name>

Пример:

 snakebite rm hdfs: // локальный: 9000 / data.txt

3. Создание каталога (в моем случае имя каталога / sample)

Синтаксис:

 snakebite mkdir hdfs: // localhost: 9000 / <путь_с_имя_каталога>

Пример:

 snakebite mkdir hdfs: // localhost: 9000 / образец

4. Удаление каталога (в моем случае имя каталога / sample)

 snakebite rmdir hdfs: // localhost: 9000 / образец

Теперь, используя приведенный выше пример, мы получаем представление о том, как мы можем реализовать и использовать интерфейс командной строки snakebite. Важное различие между Snakebite CLI и HDFS ДФСОМ является то , что укус змеи является полной библиотекой Python клиента и не использует библиотеку Java для взаимодействия с HDFS. Команда библиотеки snakebite быстрее взаимодействует с HDFS, чем с hdfs dfs .

Справочник команд интерфейса командной строки

Библиотека Python Snakebite предоставляет множество возможностей для работы с HDFS. Все переключатели и команды для справки могут быть перечислены с помощью простой команды snakebite.

 укус змеи     

Мы можем заметить, что все команды, доступные в аналогичных командах hdfs dfs , также доступны в интерфейсе командной строки snakebite. Давайте сделаем еще несколько, чтобы лучше понять интерфейс командной строки snakebite.

Проверьте версию snakebite с помощью следующей команды

 укус змеи

1. cat: используется для печати данных файла.

Пример:

 змеиный кот hdfs: // localhost: 9000 / test.txt

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

Синтаксис:

 snakebite copyToLocal <источник> <место назначения>

Пример:

 snakebite copyToLocal hdfs: // localhost: 9000 / test.txt / home / dikshant / Картинки

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

Синтаксис:

 snakebite touchz hdfs: // localhost: 9000 / <имя_каталога>

Пример:

 snakebite touchz hdfs: // локальный: 9000 / demo_file

4. du: отображение статистики использования диска

 snakebite du hdfs: // localhost: 9000 / # показать использование диска в корневом каталоге

snakebite du hdfs: // localhost: 9000 / Hadoop_File # показать использование диска в каталоге / Hadoop_File, т.е. уже доступно

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

 snakebite stat hdfs: // localhost: 9000 /

snakebite stat hdfs: // localhost: 9000 / Hadoop_File

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

 snakebite setrep 5 hdfs: // локальный: 9000 / test.txt

На изображении ниже мы видим, что мы изменили коэффициент репликации с 1 на 5 для файла test.txt.

Точно так же мы можем выполнять несколько операций с HDFS с помощью интерфейса командной строки python snakebite.

Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.

Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.