22.01.2015 Aufrufe

w26M2

w26M2

w26M2

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!