Hadoop als Data Preprocessing Engine

Hadoop als Data Preprocessing Engine - Dummies

Einer der frühesten Anwendungsfälle für Hadoop im Unternehmen war eine programmatische Transformationsengine, die zur Vorverarbeitung von Daten verwendet wurde, die an ein Data Warehouse gebunden waren. Im Wesentlichen nutzt dieser Anwendungsfall die Leistungsfähigkeit des Hadoop-Ökosystems, um Transformationen auf Daten zu manipulieren und anzuwenden, bevor diese in ein Data Warehouse geladen werden. Obwohl die eigentliche Transformationsengine neu ist (es ist Hadoop, also sind Transformationen und Datenflüsse in Pig oder MapReduce codiert), wurde der Ansatz selbst eine Weile mit den ETL-Prozessen Extract, Transform, Load (ETL) verwendet. ..

Denken Sie über die Entwicklung von OLTP- und ROLAP-Datenbanken nach. Viele Organisationen mit operativen Datenbanken haben auch Data Warehouses eingerichtet. Wie holen die IT-Abteilungen Daten aus ihren Betriebsdatenbanken in ihre Data Warehouses? (Denken Sie daran, dass die Betriebsdaten normalerweise nicht in einer Form vorliegen, die für eine Analyse geeignet ist.)

Die Antwort hier ist ETL, und da Data Warehouses im Gebrauch und in der Wichtigkeit zunahmen, wurden die Schritte im Prozess gut verstanden und Best Practices entwickelt. Außerdem haben einige Softwareunternehmen begonnen, interessante ETL-Lösungen anzubieten, damit IT-Abteilungen ihre eigene benutzerdefinierte Codeentwicklung minimieren können.

Der grundlegende ETL-Prozess ist relativ einfach: Sie

E extrahieren Daten aus einer betrieblichen Datenbank, T ransformieren sie in die Form, die Sie für Ihre Analyse benötigen. Reporting-Tools und dann L legen Sie diese Daten in Ihr Data Warehouse. Eine häufige Variante von ETL ist ELT - Extract, Load und Transform. Im ELT-Prozess führen Sie Transformationen (im Gegensatz zu ETL)

durch, nachdem die Daten in das Zielrepository geladen hat. Dieser Ansatz wird häufig verwendet, wenn die Transformation von einer sehr schnellen SQL-Verarbeitungsengine für strukturierte Daten profitieren soll. (Relationale Datenbanken können bei der Verarbeitung von unstrukturierten Daten nicht besonders gut abschneiden, aber sie führen eine sehr schnelle Verarbeitung von - erraten Sie - strukturierten Daten durch.)

Wenn die Daten, die Sie transformieren, für ein Data Warehouse bestimmt sind und viele dieser Transformationen in SQL ausgeführt werden können, können Sie die Transformationen im Data Warehouse selbst ausführen. ELT ist besonders attraktiv, wenn der Großteil Ihrer Fähigkeiten auf SQL-basierten Tools liegt.

Da Hadoop jetzt SQL-Abfragen verarbeiten kann, können sowohl ETL- als auch ELT-Workloads auf Hadoop gehostet werden. Die Abbildung zeigt ETL-Services, die der Referenzarchitektur hinzugefügt wurden.

Wenn Sie eine Hadoop-basierte Landing-Zone eingerichtet haben, haben Sie fast alles, was Sie brauchen, um Hadoop als Transformations-Engine zu verwenden.Mit Sqoop landen Sie bereits Daten von Ihren Betriebssystemen in Hadoop, die den Extraktionsschritt abdecken. An dieser Stelle müssen Sie Ihre Transformationslogik in MapReduce- oder Pig-Anwendungen implementieren. Nachdem die Daten transformiert wurden, können Sie die Daten mit Sqoop in das Data Warehouse laden.

Die Verwendung von Hadoop als Datentransformations-Engine bietet ebenfalls Möglichkeiten. Wenn Ihr Data Warehouse seine Daten nicht ändert (nur für die Berichterstellung), können Sie die Daten, die Sie mit dem Transformationsprozess generieren, einfach beibehalten. In diesem Modell fließen Daten nur von links nach rechts in der Abbildung, wo Daten aus den Betriebsdatenbanken extrahiert, in der Landezone transformiert und dann in das Data Warehouse geladen werden.

Da sich alle transformierten Daten bereits in der Landezone befinden, müssen sie nicht wieder in Hadoop kopiert werden - es sei denn, die Daten werden im Lager geändert.