Suchen

Data Science

IoT-Basics: Die Technologie-Basis von Big Data

Seite: 2/5

Firma zum Thema

In der abschließenden Stufe «Reduce» werden die Analyseergebnisse über die jeweiligen Untermengen hinweg berechnet. Auch diese Aufgabe kann wieder parallel auf mehreren Rechnern ausgeführt werden.

Dem bewährten ETL-Prinzip folgend (extract, transform, load) wurden die Daten bei einem klassischen Data-Warehouse-Ansatz immer gleich in die strukturierte Form gebracht, die der zu erwartenden Nutzung der Daten entsprach. Bei explorativen Analyseanwendungen weiß man im Vorhinein aber noch gar nicht, wie die

Daten zukünftig genutzt werden sollen und wie ihre Struktur aussehen muss. Deswegen folgt MapReduce eher einem ELT-Prinzip (extract, load, transform).

Die Rechenknoten lesen die Daten immer in der ursprünglichen Eingangsstruktur ein und transformieren sie in die gerade erforderliche Ausgangsstruktur. Dadurch lassen sich beliebig viele Ausgangsstrukturen parallel unterstützen, jeweils implementiert durch einen Satz dynamisch ladbarer Ausführungskomponenten, die speziell für die jeweilige Analyseaufgabe entwickelt oder generiert werden. Neue Ausgangsstrukturen können jederzeit durch neue Komponenten unterstützt werden, ohne dass die zugrunde liegende Datenbasis komplett transformiert werden muss.

Die Apache-Hadoop-Architektur

Apache Hadoop ist eine freie, in Java geschriebene Plattform für skalierbare, verteilt in Clustern arbeitende Softwarelösungen. Es wird von der Open-Source-Organisation Apache Foundation gepflegt und weiterentwickelt [3]. Apache Hadoop basiert ursprünglich auf dem zuvor beschriebenen MapReduce-Algorithmus sowie auf Vorschlägen des Google-Dateisystems. Zwischenzeitlich gibt es neben MapReduce aber auch weitere Implementierungen, die vor allem in der Echtzeitverarbeitung besser funktionieren als das eher Batch-orientierte MapReduce.

Um Apache Hadoop herum hat sich ein umfangreiches und stetig wachsendes Ökosystem von zusätzlichen Komponenten, Frameworks und Werkzeugen gebildet. Einige gehören zum Apache-Hadoop-Projekt, andere sind unabhängige Apache-Projekte, die aber eng mit Hadoop verknüpft

sind. Nicht zuletzt dank seiner Verfügbarkeit als Open-Source-Lösung ist Hadoop wohl das bekannteste und auch meistgenutzte Framework für Big-Data-Projekte. Auch fast alle Anbieter traditioneller IT-Lösungen bieten inzwischen Integrationen mit Apache Hadoop zumindest als Option mit an.

Bild 2 gibt einen Überblick über wichtige Open-Source-Frameworks und Werkzeuge im Umfeld von Apache Hadoop. Die Abbildung ist an eine Darstellung von Hortonworks angelehnt, einem führenden Anbieter von integrierten Hadoop-Plattformen [4]. Sie erhebt jedoch keinen Anspruch auf Vollständigkeit, denn die Open-Source-Community bringt permanent neue Projekte und Entwicklungen zum Start, die teilweise auch starke Überlappungen in ihrer Zielsetzung und Funktionalität haben. Die Hadoop-Plattform befindet sich dadurch ständig im Wandel, Bestehendes wird oft durch neue, bessere Implementierungen ersetzt.

Den Kern von Hadoop bilden die folgenden beiden Module:

  • HDFS (Hadoop Distributed File System) ist ein verteiltes Dateisystem, das den schnellen Zugriff auf Anwendungsdaten auf verteilten Rechnern ermöglicht. Das System ist redundant ausgelegt, d.h., alle Daten werden auf 2 bis 3 Rechnerknoten gleichzeitig abgelegt. Der Ausfall eines Knotens wird vom System erkannt und automatisch durch erneute Replikation der ausgefallenen Datenkopien auf einen anderen Knoten repariert.
  • YARN ist ein Framework zum Planen von Verarbeitungsaufgaben und zum Verwalten der Ressourcen eines Computerclusters. YARN schafft eine virtuelle Ressourcenstruktur und abstrahiert damit von der tatsächlich verwendeten physikalischen Rechner- und Speicherarchitektur. Dadurch können die im Hadoop-Umfeld üblichen Analyselösungen auch auf andere Speichermodelle als HDFS aufgesetzt werden.

Für die Abfrage und Analyse von Daten stehen eine Vielzahl von spezialisierten Werkzeugen zur Verfügung:

  • Das Modul MapReduce ist eine auf YARN basierende Implementierung des von Google veröffentlichten MapReduce-Verfahrens.
  • Hive ist ein Data-Warehouse-artiger Überbau für Hadoop. Es unterstützt SQL-Abfragen und Standards wie ODBC und ermöglicht dadurch die einfachere Einbindung von Hadoop in bestehende Werkzeuglandschaften für Reporting und interaktive Auswertungen.
  • Pig bietet eine skriptbasierte, prozedurale Alternative zu Hive. Mit der in Pig enthaltenen Sprache Latin können direkt Anfragen an Hadoop formuliert werden.
  • Tez ist ein erweiterbares Framework für YARN-basierte Dataverarbeitungs- Applikationen, das gegenüber MapReduce eine deutlich verbesserte Performance besitzt. Pig und Hive bauen jetzt auf Tez auf.
  • HBase ist eine NoSQL-Datenbank, basierend auf HDFS aus der Klasse der Column-Stores.
  • Accumulo ist ein verteilter Key-Value-Store (NoSQL).
  • Phoenix ist eine relationale Datenbank-Engine, die Online-Transaktionen auf der Basis von HBase ermöglicht.
  • Cassandra ist ein weiteres NoSQL-Datenbanksystem aus der Klasse der Key-Value-Stores.
  • Storm ist ein Framework für Complex Event Processing.
  • Solr ist eine Plattform für Volltextsuche auf in Hadoop gespeicherten Daten.
  • Spark ist ein eigenständiges Framework für Cluster-Computing. Es kann auf Apache Hadoop aufsetzen, funktioniert aber auch ohne Hadoop auf alternativen Datenablagesystemen. Spark verfolgt einen In-Memory-Ansatz, umfasst eigene Bibliotheken für Machine Learning, Streaming und Graphenberechnung und basiert auf und verwendet dazu die Programmiersprache Scala. Spark verdrängt im Bereich Machine Learning auch immer mehr das ältere, direkt auf MapReduce aufsetzende Mahout. Die Datenintegration mit externen Systemen wird durch die folgenden Komponenten unterstützt:
  • Sqoop ermöglicht den effizienten Batch-Transfer von großen Datenmengen aus relationalen Datenbanksystemen nach Hadoop.
  • Flume ermöglicht den effizienten Transfer von stream-basierten Logging-Daten nach Hadoop.
  • Kafka ist ein verteiltes und skalierbares Publisher-Subscriber-Messaging-System zur Verarbeitung von Datenströmen.
  • Das in der Unix- und Linux-Welt dominierende Dateisystem NFS kann mit einem Gateway in Hadoop integriert werden.
  • WebHDFS bietet eine umfangreiche REST API, die den Remote-Zugriff auf HDFS aus jeder beliebigen Umgebung erlaubt.

Für die Themen Data Governance und Datensicherheit bieten die folgenden Komponenten Unterstützung:

  • Ranger ist ein Framework zur Bereitstellung, Verwaltung und Überwachung eines umfassenden Datenschutzes für die Hadoop-Plattform.
  • Knox stellt ein kontrollierbares REST-basiertes Gateway für die Interaktion mit Apache-Hadoop-Clustern bereit, inklusive Mechanismen für Authentifizierung, Autorisierung, Single-Sign-On und Auditing.
  • Atlas ist ein Framework für Data Governance und Metadaten und bietet skalierbare und erweiterbare Basisdienste zur Implementierung von Governance-Regeln innerhalb eines Hadoop-Clusters.
  • HDFS Encryption implementiert eine transparente Ende-zu-Ende-Verschlüsselung sowohl für ruhende als auch für transportierte Daten.
  • Falcon ist ein Framework zum effizienteren Verwalten der Lebenszyklen von Daten in Hadoop-Clustern. Auch für den Betrieb (Operations) eines Hadoop-Clusters gibt es entsprechende Unterstützung:
  • Ambari ist ein Framework zum Bereitstellen, Verwalten und Überwachen von Hadoop-Clustern. Es besteht aus APIs und Web UI.
  • Zookeeper unterstützt verteilte und hochverfügbare Konfigurationsdienste und Registries für Konfigurationsdaten.
  • Oozie ist ein System zur Planung von Workflows für die Verwaltung von Hadoop-Jobs.

Zusätzlich gibt es Web-basierte Werkzeuge für die Interaktion mit dem Hadoop-Cluster:

  • Zeppelin ist ein Web-basiertes Werkzeug für die interaktive Datenanalyse.
  • Ambari User Views bieten eine grafische Unterstützung bei der Verwaltung von Cluster-Ressourcen.

Die Vielfältigkeit dieses Hadoop-Ökosystems bietet viele Möglichkeiten, stellt aber auch höchste Anforderungen an die IT-Kenntnisse eines Big-Data-Projektteams, wenn es darum geht, die vielen Teilkomponenten miteinander zu integrieren und entsprechend des Einsatzziels zu konfigurieren. Deshalb haben sich inzwischen einige Anbieter rund um diese Open-Source-Frameworks etabliert, die bereits vorkonfigurierte Lösungen als Appliances oder verwaltete Cloud-Services als kommerzielle Lösung anbieten.

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45181763)