Hadoop FS Shell cp

HadoopBeginner
Jetzt üben

Einführung

Willkommen auf der magischen Karawane, wo der außergewöhnliche Magier bereit ist, die Wunder von Hadoop's HDFS mit der Fähigkeit „kopieren“ zu demonstrieren. In dieser zauberhaften Szenerie möchte der Magier zeigen, wie man Dateien mit dem Hadoop FS Shell-Befehl kopiert, um Ihrem Hadoop-Fähigkeitsweg einen magischen Touch zu verleihen.

Dateien mit der Hadoop FS Shell kopieren

In diesem Schritt lernen wir, wie man Dateien in Hadoop mit dem cp-Befehl der FS Shell kopiert.

  1. Wechseln Sie im Terminal zum Benutzer hadoop:

    su - hadoop
  2. Erstellen Sie in das Verzeichnis /home/hadoop eine Testdatei namens source.txt. Führen Sie dazu die folgenden Befehle aus:

    echo "This is a test file." > /home/hadoop/source.txt
  3. Kopieren Sie nun die lokale Datei source.txt in eine neue Zieldatei namens destination.txt auf HDFS. Verwenden Sie dazu folgenden Befehl:

    hdfs dfs -copyFromLocal /home/hadoop/source.txt /destination.txt
  4. Überprüfen Sie, ob die Datei erfolgreich kopiert wurde. Sie können die Dateien in / auflisten, um dies zu bestätigen.

    hdfs dfs -ls /

Rekursive Dateikopie mit der Hadoop FS Shell

In diesem Schritt verbessern wir unsere Dateikopierfähigkeiten, indem wir Verzeichnisse rekursiv mit dem Hadoop FS Shell-Befehl kopieren.

  1. Erstellen Sie ein Verzeichnis namens source_dir in / und ein Unterverzeichnis namens subdir in /source_dir/. Führen Sie dazu die folgenden Befehle aus:

    hdfs dfs -mkdir /source_dir
    hdfs dfs -mkdir /source_dir/subdir
  2. Legen Sie eine Testdatei namens file1.txt im Verzeichnis subdir ab. Verwenden Sie dazu den folgenden Befehl:

    echo "Contents of file1" > /home/hadoop/file1.txt
    hdfs dfs -put /home/hadoop/file1.txt /source_dir/subdir/
  3. Kopieren Sie das gesamte Verzeichnis source_dir rekursiv in ein neues Ziel namens destination_dir. Versuchen Sie folgenden Befehl:

    hdfs dfs -cp /source_dir/ /destination_dir

Sicher! Der Befehl hdfs dfs -cp /source_dir /destination_dir hat die folgenden Komponenten:

  1. hdfs dfs -cp: Dieser Teil zeigt die Verwendung des cp-Befehls des Hadoop Distributed File Systems (HDFS), der zum Kopieren von Dateien oder Verzeichnissen verwendet wird.
  2. /source_dir/*: Dies stellt den Pfad des Quellverzeichnisses dar. Das Platzhalterzeichen * trifft alle Dateien und Unterverzeichnisse in diesem Verzeichnis zu.
  3. /destination_dir: Dies ist der Pfad des Zielverzeichnisses, in das Sie die Dateien kopieren möchten.

Zusammenfassend kopiert dieser Befehl alle Dateien und Unterverzeichnisse von /source_dir nach /destination_dir, wobei die ursprünglichen Attribute der Dateien beibehalten werden.

  1. Überprüfen Sie die rekursive Kopie, indem Sie den Inhalt des Verzeichnisses destination_dir auflisten.

    hdfs dfs -ls -R /destination_dir

Zusammenfassung

In diesem Lab haben wir uns in die magische Welt von Hadoop HDFS vertieft, mit dem Schwerpunkt auf den Befehlen hdfs dfs -copyFromLocal und hdfs dfs -copy. Indem wir ansprechende Szenarien schufen und praktische Übungen boten, zielte dieses Lab darauf ab, Ihr Verständnis von Dateikopiervorgängen in Hadoop zu verbessern. Denken Sie daran, Übung macht den Meister, und das Erlernen dieser Fähigkeiten wird Sie auf Ihrem Hadoop-Weg stärken.