Comment créer un répertoire dans le HDFS

HadoopHadoopBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Hadoop, le populaire framework open source pour le traitement des données massives, utilise le Hadoop Distributed File System (HDFS) comme solution de stockage principale. Dans ce tutoriel, nous allons explorer le processus de création de répertoires dans le HDFS, qui est un aspect crucial de la gestion de votre infrastructure de données massives.


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{{"Comment créer un répertoire dans le HDFS"}} hadoop/fs_ls -.-> lab-417677{{"Comment créer un répertoire dans le HDFS"}} hadoop/fs_mkdir -.-> lab-417677{{"Comment créer un répertoire dans le HDFS"}} hadoop/fs_test -.-> lab-417677{{"Comment créer un répertoire dans le HDFS"}} hadoop/fs_du -.-> lab-417677{{"Comment créer un répertoire dans le HDFS"}} end

Comprendre le HDFS

Le Hadoop Distributed File System (HDFS) est un système de fichiers distribué conçu pour gérer le stockage et le traitement de données à grande échelle. C'est un composant central de l'écosystème Apache Hadoop et est largement utilisé dans les applications de données massives. Le HDFS est conçu pour fournir un stockage fiable, évolutif et tolérant aux pannes pour les grands ensembles de données.

Architecture du HDFS

Le HDFS suit une architecture maître-esclave, où le nœud maître est appelé le NameNode et les nœuds esclaves sont appelés les DataNodes. Le NameNode gère les métadonnées du système de fichiers, telles que l'arborescence du système de fichiers et la correspondance entre les fichiers et les DataNodes, tandis que les DataNodes stockent les blocs de données réels.

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

Fonctionnalités du HDFS

  1. Évolutivité : Le HDFS peut être mis à l'échelle pour gérer des pétaoctets de données et des milliers de nœuds.
  2. Tolérance aux pannes : Le HDFS réplique automatiquement les blocs de données sur plusieurs DataNodes, garantissant la disponibilité des données même en cas de défaillance de nœuds.
  3. Débit élevé : Le HDFS est conçu pour un accès aux données à haut débit, ce qui le rend adapté aux tâches de traitement de données à grande échelle.
  4. Compatibilité : Le HDFS est compatible avec une grande variété de formats de données et peut être intégré à divers outils et frameworks de données massives.

Cas d'utilisation du HDFS

Le HDFS est couramment utilisé dans les scénarios suivants :

  • Analyse de données massives : Le HDFS est un choix populaire pour stocker et traiter de grands ensembles de données dans les applications de données massives, telles que Hadoop MapReduce et Apache Spark.
  • Archivage de données : Le HDFS peut être utilisé pour stocker et archiver de grandes quantités de données, telles que des fichiers journaux, des données de capteurs et des contenus multimédias.
  • Données en continu : Le HDFS peut gérer le stockage et le traitement de flux de données continus, tels que des données de capteurs en temps réel ou des journaux web.
  • Apprentissage automatique et intelligence artificielle : Le HDFS est souvent utilisé pour stocker les grands ensembles de données nécessaires pour entraîner des modèles d'apprentissage automatique et d'intelligence artificielle.

En comprenant les bases du HDFS, vous pouvez maintenant passer à l'apprentissage de la création de répertoires dans le système de fichiers HDFS.

Création de répertoires dans le HDFS

La création de répertoires dans le HDFS est une opération fondamentale qui vous permet d'organiser vos données dans une structure hiérarchique, similaire à un système de fichiers sur une machine locale.

Création de répertoires à l'aide de l'interface en ligne de commande (CLI) HDFS

Pour créer un répertoire dans le HDFS, vous pouvez utiliser l'interface en ligne de commande (CLI) hdfs dfs. Voici un exemple :

## 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 /

Dans cet exemple, nous listons d'abord le répertoire racine du système de fichiers HDFS à l'aide de la commande hdfs dfs -ls /. Ensuite, nous créons un nouveau répertoire nommé "example" à l'aide de la commande hdfs dfs -mkdir /example. Enfin, nous vérifions la création du répertoire en listant à nouveau le répertoire racine.

Création de répertoires à l'aide de l'API Java HDFS

Alternativement, vous pouvez créer des répertoires dans le HDFS de manière programmée à l'aide de l'API Java HDFS. Voici un exemple :

// 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());
}

Dans cet exemple, nous créons d'abord une nouvelle configuration HDFS et un nouveau client de système de fichiers HDFS. Ensuite, nous créons un nouveau répertoire nommé "example" à l'aide de la méthode fs.mkdirs(path). Enfin, nous listons le contenu du répertoire racine pour vérifier la création du répertoire.

En utilisant soit l'interface en ligne de commande (CLI) HDFS, soit l'API Java HDFS, vous pouvez créer des répertoires dans le HDFS pour organiser vos données et gérer vos flux de travail de données massives.

Techniques de gestion des répertoires HDFS

La gestion des répertoires dans le HDFS implique diverses techniques pour organiser et maintenir efficacement vos données. Voici quelques techniques courantes de gestion de répertoires :

Liste des répertoires

Pour lister le contenu d'un répertoire dans le HDFS, vous pouvez utiliser la commande hdfs dfs -ls :

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

Suppression de répertoires

Pour supprimer un répertoire dans le HDFS, vous pouvez utiliser la commande hdfs dfs -rm -r :

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

Renommage de répertoires

Pour renommer un répertoire dans le HDFS, vous pouvez utiliser la commande hdfs dfs -mv :

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

Copie de répertoires

Pour copier un répertoire dans le HDFS, vous pouvez utiliser la commande hdfs dfs -cp -r :

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

Autorisations de répertoires

Le HDFS prend en charge les autorisations de fichiers et de répertoires, qui peuvent être gérées à l'aide des commandes hdfs dfs -chmod, hdfs dfs -chown et 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

En maîtrisant ces techniques de gestion de répertoires, vous pouvez organiser et maintenir efficacement vos données dans le système de fichiers HDFS.

Résumé

À la fin de ce tutoriel, vous aurez une bonne compréhension de la création de répertoires dans le HDFS, ainsi que des techniques pour une gestion efficace des répertoires HDFS. Cette connaissance vous permettra d'organiser et de gérer plus efficacement votre écosystème de données massives basé sur Hadoop.