Ich habe vor Kurzem eine Prüfung von Hortonworks gemacht und bestanden. In diesem Eintrag wollte ich erzählen, wie ich die Zertifizierung erfolgreich bekommen habe.
Was ist Hortonworks?
Hortonworks bietet ein Platform namens HDP für Hadoop-Ökosystem. Das Platform kann man als eine Linux-Distribution betrachten. Also man kann auf Hadoop basierte Applikationen wie Spark verwenden, sobald man das Platform installiert.
HDP ist sehr nützlich wenn man ein Hadoop-Cluster machen wollte. Ein Cluster besteht aus mehrere Computer. Um dieselbe Applikation auf mehrere Computer problemlos in Betrieb zu nehmen, musste die Umgebung jedes Computers vereint werden. Wenn ein Cluster aus 10 Computer besteht, muss man auf 10 Computer Hadoop installieren und die nötigen Umgebungsvariablen richtig einstellen. Das ist wirklich anstrengend. Deshalb installiert man HDP auf das Cluster.
Warum Zertifizierung?
Es geht um die Analyse von Massendaten. Man braucht irgendeinen Trick, um die Daten zu analysieren, die in mehreren Computer verteilt sind. MapReduce ist die bekannteste Lösung davon und Hadoop ist eine Implementation von MapReduce. Apache Pig und Apache Hive sind Frameworks, die uns ermöglichen, effektiv durch Hadoop (MapReduce) verteilte Daten zu analysieren. Die Zertifizierung garantiert vor allem die Fähigkeiten für Benutzung von Pig und Hive.
Obwohl MapReduce eine einfache Idee ist, muss man viel lernen, um die verteilten Daten zu analysieren.
Die Prüfung für die Zertifizierung
Eigentlich gibt es 5 Sorte Zertifizierungen für Hortonworks. Die erste Zertifizierung, HDPCD, ist was ich diesmal bekommen habe. Die Ziele kann man auf dieser Seite finden. Die Punkten, die man verstehen muss, sind richtig viel.
Die Zeitdauer der Prüfung beträgt zwei Stunden. Aber da die Prüfung komplett online ist, braucht man etwas länger für die Überprüfung der Umgebung. Also man muss selbst zum Beispiel einen Raum für die Prüfung vorbereiten und durch Webcam überprüfen, dass man nicht mogelt.
Ein Übungsmaterial wird auf AWS angeboten. Wer die Zertifizierung wollte, solltest sich unbedingt an die Umgebung gewöhnen. Das liegt daran, dass man mehrere Skripts darauf schreiben muss.
Vorbereitung auf die Prüfung
Analyse von Massendaten ist ein der wichtigsten Themen in Data Science. Deshalb habe ich vor knapp zwei Jahren Hadoop-Ökosystem mehr oder weniger gelernt. Ich habe nämlich einen bekannten Onlinekurs besucht. Im Kurs wird die Grundlage von MapReduce und Apache Pig erklärt. Natürlich habe ich einige Videos des Kurses noch einmal gesehen.
In Tutorialpoint gibt es kurze Einführung zu den Themen für die Zertifizierung: Pig, Hive, Sqoop und Flume. Sie sind zwar teilweise veraltet, aber hilfreich. Außer dem Kurse habe ich nur Tutorium und einige offizielle Dokumentationen gelesen und die funktionierenden kleinen Beispiele gesammelt.
Natürlich habe ich das offizielle Übungsmaterial gemacht.
Darauf kann man 10 Aufgaben versuchen, die ähnlich wie die aktuellen Prüfungsaufgaben sind. Die Prüfungsumgebung ist Linux (Ubuntu): man schreibt ein Skript mit gedit and führt es auf Bash aus. Man kann sofort finden, dass die Umgebung sehr unangenehm ist, sobald man das Übungsmaterial versucht. Deshalb denke ich, dass ich mich unbedingt an die Umgebung gewöhnen sollte. Dafür habe ich ungefähr $20 bei AWS ausgegeben.
(Eigentlich habe ich andere knapp $20 bezahlt, weil ich vergessen habe, eine Instanz zu stoppen.)
Meine Erfahrung bei der Prüfung
Weil ich das ausführliche Inhalt der Prüfung nicht erzählen darf, schreibe ich nur allgemeine Hinweise darauf.
Die Anmeldung für die Prüfung war einfach. Aber man sollte beachten, dass ein ruhiger Raum ohne anderen Personen und schnelle Internet-Verbindung zur Verfügung stehen. Bevor der Prüfung muss man überprüfen, dass die verlangten Bedingungen erfüllt sind.
Bei der Prüfung wird Google-Chrome zu einer VNC-Anwendung. Also es scheint, als ob Linux auf einem Webbrowser funktionieren würde. Aber man sollte immer beachten, dass man auf Chrome arbeitet. Das liegt daran, dass Chrome irgendein Keybind wie Ctrl-D reagiert. Vor allem ist "Ctrl-T" fatal, da es verboten ist, ein neues Tab zu öffnen.
Die Aufgaben sind nicht kompliziert. Das kann man finden, sobald man das offizielles Übungsmaterial macht. Die Grundlage für die genannten Applikationen, nämlich Pig, Hive, Flume und Sqoop, ist gefragt. Aber trotzdem ist die Prüfung nicht einfach, weil man Skripts ausführen muss.
Normalerweise ist ein Ablauf eines MapReduce-Jobs sehr langsam, auch wenn die zu verarbeitenden Daten klein sind. Ein Ablauf dauert manchmal länger als eine Minute. Was wäre, wenn man ein Skript ohne Syntax-Fehler aber mit einem logischen Fehler. Man muss abwarten, bis das Ausführen abläuft. Danach überprüft man, ob das Ergebnis die verlangten Bedingungen erfüllt. Sobald man einen Fehler findet, korrigiert man das Skript und führt es aus. Noch einmal wartet man ab und überprüft das Ergebnis.... Da die Umgebung anderes als die übrige Umgebung ist, macht man öfter einen Tippfehler. Dann muss man sorgfältig eine sehr lange Fehlermeldung lesen, um herauszufinden, wo es einen Fehler gibt.
Das ist sehr nervig. Deshalb ist es sehr wichtig, sich an die Prüfungsumgebung zu gewöhnen. Sonst hat man bei der Prüfung Panik.
Übrigens kann man bei der Prüfung nur offizielle Dokumentationen lesen. Deshalb ist es wichtig zu verstehen, wo welche Information steht. Zum Beispiel kann man die Erklärung von HCatalog von Pig in der Dokumentation von Hive finden, nicht von Pig.