Recherche dans le FS Shell d'Hadoop

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

Dans ce laboratoire, nous allons plonger dans le monde d'Hadoop HDFS et nous concentrer sur la commande find du FS Shell. Imaginez-vous comme un archéologue explorant un temple antique à la recherche de trésors et de secrets cachés. Votre objectif est d'utiliser la commande find du FS Shell pour naviguer dans le vaste système de fichiers Hadoop tout comme on découvre des artefacts cachés dans un temple.

Configuration de l'environnement

Dans cette étape, nous allons nous assurer que notre environnement Hadoop est correctement configuré avant d'utiliser la commande find du FS Shell.

Ouvrez le terminal et suivez les étapes ci-dessous pour commencer.

  1. Basculez sur l'utilisateur hadoop :

    su - hadoop
  2. Vérifiez la version d'Hadoop :

    hadoop version
  3. Créez un fichier example.txt dans le répertoire racine de HDFS :

    echo "This is an example file." | hdfs dfs -put - /example.txt

Récupérer des informations sur un fichier

Dans cette étape, nous allons démontrer comment utiliser la commande find du FS Shell pour localiser des fichiers spécifiques dans le système de fichiers Hadoop.

  1. Recherchez un fichier nommé example.txt dans le répertoire racine de HDFS :

    hdfs dfs -find / -name "example.txt"
  2. Récupérez des informations sur le fichier à l'aide de la commande stat du FS Shell :

    hdfs dfs -stat "%n %y %r" /example.txt > /home/hadoop/example_info.txt
    cat /home/hadoop/example_info.txt

La commande hdfs dfs -stat est utilisée pour récupérer des informations sur l'état de fichiers ou de répertoires dans HDFS. Vous pouvez utiliser différentes options de formatage pour personnaliser les informations de sortie. Voici quelques options de formatage couramment utilisées et leur signification :

  • %b : Taille du fichier en octets.
  • %n : Nom du fichier.
  • %o : Taille du bloc.
  • %r : Facteur de réplication.
  • %u : Nom d'utilisateur.
  • %g : Nom de groupe.
  • %y : Date et heure de modification au format yyyy-MM-dd HH:mm:ss.
  • %F : Type de fichier (fichier, répertoire ou lien symbolique).

Analyse des répertoires

Dans cette étape, nous allons explorer comment la commande find du FS Shell peut être utilisée pour analyser les répertoires et leur contenu.

  1. Liste tous les répertoires sous le répertoire /user :

    hdfs dfs -ls /user
  2. Crée un répertoire nommé superDirectory sous le répertoire /user et définissez ses permissions sur 777 (rwxrwxrwx) :

    hdfs dfs -mkdir /user/superDirectory
    hdfs dfs -chmod 777 /user/superDirectory
  3. Utilisez la commande find du FS Shell pour localiser le répertoire superDirectory :

    hdfs dfs -find /user -name "superDirectory"
  4. Utilisez le FS Shell pour identifier les répertoires avec des permissions spécifiques :

    hdfs dfs -ls /user | grep '^drwxrwxrwx'

Sommaire

Dans ce laboratoire, nous nous sommes plongés dans le monde d'Hadoop HDFS et avons exploré les capacités de la commande find du FS Shell. En simulant une expédition archéologique dans un temple, nous avons appris à rechercher et analyser efficacement des fichiers et des répertoires dans le système de fichiers Hadoop. Cette expérience pratique a offert des perspectives sur la gestion et la navigation dans des structures de données complexes dans Hadoop, renforçant notre compréhension des opérations HDFS.