2.2 Daten in HDFS einspielen

Nachdem du nun die Grundlagen von HDFS kennst, können wir versuchen, unsere Daten in das HDFS des Hadoop-Clusters einzuspielen. Starte dazu bitte deine Hadoop-Sandbox. Bitte gehe in der Anleitung weiter, sobald du wieder den folgenden Bildschirm siehst: 

Einspielen von Daten über das Webinterface von Ambari und „Files View“

Gehe danach bitte auf http://localhost:8080, um Ambari aufzurufen. Die Zugangsdaten lauten weiterhin „maria_dev“ als Benutzername und als Passwort. Du solltest danach das Ambari-Dashboard sehen:

Du siehst hier viele der Services wieder, wo du dich in den letzten Seiten eingelesen hast: HDFS, YARN, MapReduce, Pig, Oozie, Zookeeper, etc. Bitte gehe danach auf die 9 Rechtecke oben rechts und öffne bitte „Files View“ mit einem Klick.

Auf dieser Seite siehst du das komplette Hadoop-Filesystem (HDFS) des Clusters:

Bitte klicke danach auf folgende Ordner: „User“ –> „maria_dev“.
Wir sind nun im Benutzerordner unseres Users „maria_dev“. Bitte erstelle hier einen Ordner mit dem Namen „ml-100k“ über den Button oben rechts. Der Name entspricht den Movielens-Datensätzen mit 100.000 Einträgen. Danach öffne bitte den Ordner und lade die beiden Dateien „ratings.csv“ und „movies.csv“ hoch. Nach dem Upload müsste dein Ordner folgendermaßen aussehen:

Falls wir jetzt ein produktives Cluster mit mehreren Servern hätten, würde nun automatisch die Replizierung über alle Clusterknoten hinweg beginnen. 

Von der Oberfläche her kannst du mit einem Klick auf die Datei das Dateimenü öffnen, wo du die Datei öffnen, umbenennen, herunterladen, etc. durchführen kannst. Das selbe kannst du mit Ordnern machen.

Einspielen von Daten über die Kommandozeile

Wenn dir das Einspielen über das Webinterface zu einfach war, kannst du natürlich auch über die Kommandozeile die Dateien in das HDFS laden. 

Wenn du Windows benutzt, kannst du mittels Putty eine Verbindung zu deiner VirtualBox mit Hadoop aufbauen. Lade dir dazu bitte Putty unter https://www.putty.org/ herunter. Für Linux-Systeme kannst du auch jeden anderen Client verwenden. Nach dem Installieren von Putty trage bitte folgendes ein:

Einstellungeinzutragender Wert
Host Name (or IP Adress)maria_dev@127.0.0.1
Port2222
Saved SessionsHDP

Über „Saved Sessions“ kannst du deine Sitzung abspeichern, sodass du diese Daten nicht ständig neu eingeben musst. Dein Fenster sollte also folgendermaßen aussehen:

Gehe danach auf „Save“ zum Abspeichern der Verbindung und danach auf „Open“ zum Aufbau der Verbindung. Bitte trage danach folgenden Befehl ein, um dir als Nutzer maria_dev alle Dateien im HDFS anzeigen zu lassen (ls für Anzeigen der Daten):

hadoop fs -ls

Du siehst nun, dass es die beiden Ordner „hive“ und „ml-100k“ in deinem HDFS-Verzeichnis gibt. Diese kennst du schon von der Übung mit der Weboberfläche. Wir versuchen nun mal einen Ordner nur über die Kommandozeile zu erstellen:

hadoop fs -mkdir testordner

Anschließend kannst du dir nochmal die Ordner anzeigen lassen.

hadoop fs -ls

Wir können auch Dateien in den Ordner im HDFS hochladen. Lass uns dazu eine Testdatei erstellen:

printf "Ich bin eine Testdatei" > test.file

Danach zur Kontrolle bitte alle Dateien in deinem lokalen Ordner anzeigen:

ls #Anzeigen der lokalen Dateien

Die Ausgabe sieht dann wie folgt aus:

total 4
-rw-rw-r-- 1 maria_dev maria_dev 22 Dec 14 13:43 test.file

Nun können wir diese Datei in das HDFS hochladen. Mit folgendem Befehl wird die Datei in das HDFS hochgeladen.

hadoop fs -copyFromLocal test.file testordner/test.file

Anschließend kannst du im HDFS überprüfen, ob diese Datei wirklich im entsprechenden Ordner im HDFS liegt:

hadoop fs -ls testordner

Wir können diese Datei und den Ordner auch wieder entfernen. Gib dazu bitte folgendes ein:

hadoop fs -rm testordner/test.file
hadoop fs -rmdir testordner
hadoop fs -ls

Und nun haben wir wieder alles so, wie es vorher war. Wie du siehst, kannst du alle Operationen sowohl in der Weboberfläche als auch auf der Kommandozeile machen. Mit „hadoop fs“ in der Kommandozeile kannst du dir alle Befehle für das HDFS auf der Kommandozeile anzeigen lassen.

Du kannst durch Eingabe von „exit“ die Kommandozeile verlassen. Anschließend kannst du die VirtualBox auch wieder herunterfahren, wenn du sie nicht mehr brauchst. Dies gilt selbstverständlich für den gesamten Kurs.


Weiter geht es mit: 2.3 Grundlagen von MapReduce