Как создать каталог в HDFS

HadoopHadoopBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

Hadoop, популярная открытая платформа (фреймворк) для обработки больших данных, использует Hadoop Distributed File System (HDFS) в качестве основного решения для хранения данных. В этом руководстве мы рассмотрим процесс создания каталогов в HDFS, что является важной частью управления инфраструктурой для обработки больших данных.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hadoop(("Hadoop")) -.-> hadoop/HadoopHDFSGroup(["Hadoop HDFS"]) hadoop/HadoopHDFSGroup -.-> hadoop/hdfs_setup("HDFS Setup") hadoop/HadoopHDFSGroup -.-> hadoop/fs_ls("FS Shell ls") hadoop/HadoopHDFSGroup -.-> hadoop/fs_mkdir("FS Shell mkdir") hadoop/HadoopHDFSGroup -.-> hadoop/fs_test("FS Shell test") hadoop/HadoopHDFSGroup -.-> hadoop/fs_du("FS Shell du") subgraph Lab Skills hadoop/hdfs_setup -.-> lab-417677{{"Как создать каталог в HDFS"}} hadoop/fs_ls -.-> lab-417677{{"Как создать каталог в HDFS"}} hadoop/fs_mkdir -.-> lab-417677{{"Как создать каталог в HDFS"}} hadoop/fs_test -.-> lab-417677{{"Как создать каталог в HDFS"}} hadoop/fs_du -.-> lab-417677{{"Как создать каталог в HDFS"}} end

Понимание HDFS

Hadoop Distributed File System (HDFS) - это распределенная файловая система, разработанная для обработки крупномасштабного хранения и обработки данных. Это основной компонент экосистемы Apache Hadoop и широко используется в приложениях для обработки больших данных. HDFS разработан для обеспечения надежного, масштабируемого и отказоустойчивого хранения больших наборов данных.

Архитектура HDFS

HDFS следует архитектуре "мастер - слейв", где мастер - узел называется NameNode, а слейв - узлы - DataNodes. NameNode управляет метаданными файловой системы, такими как дерево файловой системы и отображение файлов на DataNodes, в то время как DataNodes хранят фактические блоки данных.

graph TD NameNode -- Manages metadata --> DataNode DataNode -- Stores data blocks --> HDFS

Функции HDFS

  1. Масштабируемость: HDFS может масштабироваться для обработки петабайтов данных и тысяч узлов.
  2. Отказоустойчивость: HDFS автоматически реплицирует блоки данных на нескольких DataNodes, обеспечивая доступность данных даже в случае сбоя узлов.
  3. Высокая пропускная способность: HDFS разработан для высокоскоростного доступа к данным, что делает его подходящим для крупномасштабных задач обработки данных.
  4. Совместимость: HDFS совместим с широким спектром форматов данных и может быть интегрирован с различными инструментами и фреймворками для обработки больших данных.

Примеры использования HDFS

HDFS обычно используется в следующих сценариях:

  • Анализ больших данных: HDFS является популярным выбором для хранения и обработки больших наборов данных в приложениях для обработки больших данных, таких как Hadoop MapReduce и Apache Spark.
  • Архивное хранение данных: HDFS может быть использован для хранения и архивирования больших объемов данных, таких как журналы, данные с сенсоров и мультимедийный контент.
  • Потоковые данные: HDFS может обрабатывать хранение и обработку непрерывных потоков данных, таких как данные с сенсоров в реальном времени или веб - журналы.
  • Машинное обучение и ИИ: HDFS часто используется для хранения больших наборов данных, необходимых для обучения моделей машинного обучения и ИИ.

Понимая основы HDFS, вы можете приступить к изучению того, как создавать каталоги в файловой системе HDFS.

Создание каталогов в HDFS

Создание каталогов в HDFS является фундаментальной операцией, которая позволяет организовать данные в иерархическую структуру, аналогичную файловой системе на локальной машине.

Создание каталогов с использованием HDFS CLI

Для создания каталога в HDFS можно использовать командную строку (CLI) hdfs dfs. Вот пример:

## Connect to the HDFS cluster
hdfs dfs -ls /
## Create a new directory named "example"
hdfs dfs -mkdir /example
## Verify the directory creation
hdfs dfs -ls /

В этом примере мы сначала выводим список содержимого корневого каталога файловой системы HDFS с помощью команды hdfs dfs -ls /. Затем мы создаем новый каталог с именем "example" с помощью команды hdfs dfs -mkdir /example. Наконец, мы проверяем создание каталога, снова выводя список содержимого корневого каталога.

Создание каталогов с использованием HDFS Java API

В качестве альтернативы можно создавать каталоги в HDFS программно, используя HDFS Java API. Вот пример:

// Create a new HDFS configuration
Configuration conf = new Configuration();
// Create a new HDFS file system client
FileSystem fs = FileSystem.get(conf);
// Create a new directory named "example"
Path path = new Path("/example");
fs.mkdirs(path);
// Verify the directory creation
FileStatus[] statuses = fs.listStatus(new Path("/"));
for (FileStatus status : statuses) {
    System.out.println(status.getPath());
}

В этом примере мы сначала создаем новую конфигурацию HDFS и нового клиента файловой системы HDFS. Затем мы создаем новый каталог с именем "example" с помощью метода fs.mkdirs(path). Наконец, мы выводим список содержимого корневого каталога, чтобы проверить создание каталога.

Используя либо HDFS CLI, либо HDFS Java API, вы можете создавать каталоги в HDFS для организации своих данных и управления рабочими процессами обработки больших данных.

Техники управления каталогами в HDFS

Управление каталогами в HDFS включает в себя различные методы для эффективной организации и поддержки данных. Вот некоторые распространенные методы управления каталогами:

Вывод списка каталогов

Для вывода списка содержимого каталога в HDFS можно использовать команду hdfs dfs -ls:

## List the contents of the root directory
hdfs dfs -ls /
## List the contents of the "example" directory
hdfs dfs -ls /example

Удаление каталогов

Для удаления каталога в HDFS можно использовать команду hdfs dfs -rm -r:

## Delete the "example" directory and its contents
hdfs dfs -rm -r /example

Переименование каталогов

Для переименования каталога в HDFS можно использовать команду hdfs dfs -mv:

## Rename the "example" directory to "new_example"
hdfs dfs -mv /example /new_example

Копирование каталогов

Для копирования каталога в HDFS можно использовать команду hdfs dfs -cp -r:

## Copy the "new_example" directory to "/backup/example"
hdfs dfs -cp -r /new_example /backup/example

Права доступа к каталогам

HDFS поддерживает права доступа к файлам и каталогам, которые можно управлять с помощью команд hdfs dfs -chmod, hdfs dfs -chown и hdfs dfs -chgrp:

## Change the permissions of the "example" directory to 755
hdfs dfs -chmod 755 /example
## Change the owner of the "example" directory to "user1"
hdfs dfs -chown user1 /example
## Change the group of the "example" directory to "group1"
hdfs dfs -chgrp group1 /example

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

Резюме

По окончании этого руководства вы будете хорошо понимать, как создавать каталоги в HDFS, а также методы эффективного управления каталогами в HDFS. Эти знания позволят вам более эффективно организовать и управлять экосистемой для обработки больших данных на основе Hadoop.