Hadoop FS Shell find

HadoopHadoopBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden wir uns der Welt von Hadoop HDFS widmen und uns auf den FS Shell find-Befehl konzentrieren. Stellen Sie sich vor, Sie wären ein Archäologe, der in einer alten Tempel sucht, um verborgene Schätze und Geheimnisse zu entdecken. Ihr Ziel ist es, den FS Shell find-Befehl zu nutzen, um durch das riesige Hadoop-Dateisystem zu navigieren, genauso wie man verborgene Artefakte in einem Tempel entdeckt.


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_put("FS Shell copyToLocal/put") hadoop/HadoopHDFSGroup -.-> hadoop/fs_chmod("FS Shell chmod") hadoop/HadoopHDFSGroup -.-> hadoop/fs_find("FS Shell find") hadoop/HadoopHDFSGroup -.-> hadoop/fs_stat("FS Shell stat") subgraph Lab Skills hadoop/hdfs_setup -.-> lab-271870{{"Hadoop FS Shell find"}} hadoop/fs_ls -.-> lab-271870{{"Hadoop FS Shell find"}} hadoop/fs_mkdir -.-> lab-271870{{"Hadoop FS Shell find"}} hadoop/fs_put -.-> lab-271870{{"Hadoop FS Shell find"}} hadoop/fs_chmod -.-> lab-271870{{"Hadoop FS Shell find"}} hadoop/fs_find -.-> lab-271870{{"Hadoop FS Shell find"}} hadoop/fs_stat -.-> lab-271870{{"Hadoop FS Shell find"}} end

Umgebung einrichten

In diesem Schritt stellen wir sicher, dass unsere Hadoop-Umgebung richtig eingerichtet ist, bevor wir den FS Shell find-Befehl verwenden.

Öffnen Sie das Terminal und folgen Sie den untenstehenden Schritten, um loszulegen.

  1. Wechseln Sie zum Benutzer hadoop:

    su - hadoop
  2. Überprüfen Sie die Hadoop-Version:

    hadoop version
  3. Erstellen Sie eine Datei example.txt im Stammverzeichnis von HDFS:

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

Dateiinformationen abrufen

In diesem Schritt werden wir demonstrieren, wie man den FS Shell find-Befehl verwendet, um bestimmte Dateien im Hadoop-Dateisystem zu finden.

  1. Suchen Sie nach einer Datei namens example.txt im Stammverzeichnis von HDFS:

    hdfs dfs -find / -name "example.txt"
  2. Rufen Sie Informationen über die Datei mithilfe des FS Shell stat-Befehls ab:

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

Der hdfs dfs -stat-Befehl wird verwendet, um Statusinformationen über Dateien oder Verzeichnisse in HDFS abzurufen. Sie können verschiedene Formatierungsoptionen verwenden, um die Ausgabedaten zu personalisieren. Hier sind einige häufig verwendete Formatierungsoptionen und ihre Bedeutungen:

  • %b: Dateigröße in Bytes.
  • %n: Dateiname.
  • %o: Blockgröße.
  • %r: Replikationsfaktor.
  • %u: Benutzername.
  • %g: Gruppenname.
  • %y: Änderungszeit im Format yyyy-MM-dd HH:mm:ss.
  • %F: Dateityp (Datei, Verzeichnis oder Symbolink).

Verzeichnisse analysieren

In diesem Schritt werden wir untersuchen, wie man den FS Shell find verwenden kann, um Verzeichnisse und deren Inhalte zu analysieren.

  1. Listen Sie alle Verzeichnisse unter dem Verzeichnis /user auf:

    hdfs dfs -ls /user
  2. Erstellen Sie ein Verzeichnis namens superDirectory unter dem Verzeichnis /user und legen Sie seine Berechtigungen auf 777 (rwxrwxrwx) fest:

    hdfs dfs -mkdir /user/superDirectory
    hdfs dfs -chmod 777 /user/superDirectory
  3. Verwenden Sie den FS Shell find, um das Verzeichnis superDirectory zu finden:

    hdfs dfs -find /user -name "superDirectory"
  4. Verwenden Sie den FS Shell, um Verzeichnisse mit bestimmten Berechtigungen zu identifizieren:

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

Zusammenfassung

In diesem Lab haben wir uns der Welt von Hadoop HDFS gewidmet und die Möglichkeiten des FS Shell find-Befehls untersucht. Indem wir eine archäologische Expedition in einem Tempel simuliert haben, haben wir gelernt, wie man effektiv nach Dateien und Verzeichnissen im Hadoop-Dateisystem suchen und analysieren kann. Diese praktische Erfahrung hat uns Einblicke in das Verwalten und Navigieren in komplexen Datenstrukturen in Hadoop gegeben und unser Verständnis von HDFS-Betrieb verbessert.