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.
Wechseln Sie im Terminal zum Benutzer
hadoop:su - hadoopErstellen Sie in das Verzeichnis
/home/hadoopeine Testdatei namenssource.txt. Führen Sie dazu die folgenden Befehle aus:echo "This is a test file." > /home/hadoop/source.txtKopieren Sie nun die lokale Datei
source.txtin eine neue Zieldatei namensdestination.txtauf HDFS. Verwenden Sie dazu folgenden Befehl:hdfs dfs -copyFromLocal /home/hadoop/source.txt /destination.txtÜ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.
Erstellen Sie ein Verzeichnis namens
source_dirin/und ein Unterverzeichnis namenssubdirin/source_dir/. Führen Sie dazu die folgenden Befehle aus:hdfs dfs -mkdir /source_dir hdfs dfs -mkdir /source_dir/subdirLegen Sie eine Testdatei namens
file1.txtim Verzeichnissubdirab. Verwenden Sie dazu den folgenden Befehl:echo "Contents of file1" > /home/hadoop/file1.txt hdfs dfs -put /home/hadoop/file1.txt /source_dir/subdir/Kopieren Sie das gesamte Verzeichnis
source_dirrekursiv in ein neues Ziel namensdestination_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:
hdfs dfs -cp: Dieser Teil zeigt die Verwendung descp-Befehls des Hadoop Distributed File Systems (HDFS), der zum Kopieren von Dateien oder Verzeichnissen verwendet wird./source_dir/*: Dies stellt den Pfad des Quellverzeichnisses dar. Das Platzhalterzeichen*trifft alle Dateien und Unterverzeichnisse in diesem Verzeichnis zu./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.
Überprüfen Sie die rekursive Kopie, indem Sie den Inhalt des Verzeichnisses
destination_dirauflisten.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.



