w26M2
w26M2
w26M2
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Big-Data-Technologien – Wissen für Entscheider<br />
Obwohl es nicht die ursprüngliche Aufgabenstellung<br />
von Hive war, hat es doch als Werkzeug für ETL-Aufgaben<br />
Popularität erlangt. Das hat verschiedene Gründe:<br />
• Für das Erschließen spezieller Datenformate, wie<br />
JSON, lassen sich in Hive spezielle Storagehandler und<br />
Serializer/Deserialisierer verwenden.<br />
• Es gibt außerdem eine Menge eingebauter HiveQL-<br />
Funktionen, die für die Datenanalyse eingesetzt<br />
werden können.<br />
Für jemanden, der sich schon einmal mit SQL beschäftigt<br />
hat, ist dieses Skript sofort verständlich.<br />
Die Herausforderung beim Einsatz von Hive für ETL-<br />
Aufgaben besteht in der Regel in der Überführung der<br />
Eingangsdaten in Tabellenform. Ist dies mit Hive-Mitteln<br />
nicht möglich, so muss eventuell noch ein Pig-Skript<br />
vorgeschaltet werden. Sobald sich die Daten aber in<br />
der regulären Form einer Hive-Tabelle befinden, dann<br />
ist die Formulierung von ETL-Jobs eine überschaubare<br />
Aufgabenstellung.<br />
• Der wichtigste Grund für die Verwendung von Hive<br />
für Datenintegrationsjobs ist sicherlich im Verbreitungsgrad<br />
begründet, den SQL in der Datenbankwelt<br />
genießt.<br />
HiveQL vereinfacht den Umstieg auf Hadoop, und viele<br />
ETL-Aufgaben lassen sich durch SQL-Ausdrücke einfach<br />
lösen. Ein kurzes HiveQL-Beispiel dient der Illustration (vgl.<br />
Abbildung 12):<br />
Die Vor- und Nachteile bei der Arbeit mit Hive ähneln<br />
denen mit Pig: Nach der automatischen Übersetzung von<br />
HiveQL in MapReduce-Jobs können sehr große Datenmengen<br />
verarbeitet werden; Hive ist einigermaßen tolerant<br />
gegenüber varianten Schemata (wenn auch nicht so<br />
flexibel wie Pig) und die HiveQL-Sprache erschließt sich<br />
schnell.<br />
Die Nachteile der Formulierung von Transformations-Prozessen<br />
in Skriptform sind bei Hive noch etwas spürbarer<br />
als bei Pig, da die Verarbeitungs-Pipelines komplexerer<br />
CREATE TABLE logdata(<br />
logdate string,<br />
logtime string,<br />
…<br />
cs_Referrer string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ‚ ‚;<br />
LOAD DATA INPATH ‚/w3c/input/‘ OVERWRITE INTO TABLE logdata;<br />
SELECT<br />
logdate, c_ip, COUNT(c_ip)<br />
FROM<br />
WordsInTexts<br />
GROUP BY<br />
logdate<br />
ORDER BY<br />
logdate, COUNT(c_ip)<br />
LIMIT 100<br />
Abbildung 12: Illustrationsbeispiel für HiveQL<br />
51