Open Source Big Data mit Apache Hadoop
Apache Hadoop, mit seinem schnell wachsenden Ökosystem, geniesst als Lösung für Big Data seit einiger Zeit viel Aufmerksamkeit. Dieser Beitrag zeigt, wie die beiden Projekte Spring for Apache Hadoop und Spring XD den Einstieg ind die Welt von Hadoop erleichtern.
Hadoop ist nach wie vor DIE Plattform für «Big Data» und verteiltes Rechnen. Jedoch besitzt Hadoop ein Low-Level-Programmiermodell, welches die Programmierung aufwändig macht. Man kommt häufig nicht darum herum, viel Infrastruktur-Code zu schreiben. Bereits für das Konfigurieren eines einfachen Jobs müssen einige Zeilen Java programmiert werden, ganz abgesehen von der Programmierung der dazugehörenden Funktionen selbst. Deswegen gibt es eine Reihe von Erweiterungen, die auf Hadoop aufbauen, auf einer höheren Abstraktionsebene sind und somit die Komplexität vermindern.
Spring for Apache Hadoop
Aus diesen Gründen wurde auch das Spring-Projekt «Spring for Apache Hadoop» ins Leben gerufen. Das Ziel von «Spring for Apache Hadoop» ist die Vereinfachung der Entwicklung von Hadoop-Applikationen. Es bietet ein bekanntes und konsistentes Programmierungs– und Konfigurationsmodell an. Das Spring-Projekt baut zudem auf existierenden Service-Layer-Abstraktionen auf. Das Spring-Framework und die Erweiterungen Spring Batch, Spring Integration und Spring Data sind integrierte Bestandteile. Die Vorteile liegen auf der Hand — mit all den Komponenten können grosse und komplexe Applikationen gebaut werden.
Spring XD
Für die Validation, die Verarbeitung und den Import (Data-Ingestion) von Daten in Hadoop drängt sich die Verwendung von Spring XD auf, da die Vereinfachung dieser Funktionen eines der Hauptziele des Projekts ist. Spring XD kann als verteilter und erweiterbarer Service für Data-Ingestion, Echtzeitanalyse, Batch-Jobs und Datenexport genutzt werden. Ein sogenannter Stream definiert in der Welt von Spring XD die ereignisgesteuerte Datenaufnahme von einer Source (Datenquelle) zu einem Sink (Datenausgabe), mit einer beliebige Anzahl von Prozessoren (z.B. Filter und Transformatoren) dazwischen. Streams haben eine lange Lebensdauer und müssen manuell gestoppt werden, falls man sie nicht mehr braucht. Die Module (Sourcen, Sinks und Prozessoren) werden mit einem Pipe-Symbol verbunden (analog dem Verbinden von einzelnen Befehlen auf einer Unix-Shell). Das vereinfacht den Einstieg für gewohnte Unix-Benutzer. Die einzelnen Module basieren wiederum auf Spring-Programmen und lassen sich auch gut selbst modifizieren oder neu entwickeln. Spring ermöglicht die Einsparung eines erheblichen Entwicklungsaufwands von Big-Data-Applikationen basierend auf Apache Hadoop.
Fazit
Die beiden vorgestellten Spring-Projekte sind für gewohnte Anwender von Spring schnell erschliessbar und bieten viele attraktive Funktionalitäten. Spring vereinfacht und beschleunigt die Entwicklung erheblich. Komplexität wird verborgen und der Entwickler kann sich mehr den fachlichen Aufgaben widmen. Mit geringem Aufwand lassen sich bereits vielschichtige Applikationen ableiten, für deren Entwicklung man ohne Spring viel mehr Zeit investieren müsste.
_______________________________________________________________
Über den Autor
Sandro Lehmann ist als Senior Software Engineer bei der mimacom ag tätig. Seine Schwerpunkte sind Projekte in der Entwicklung von Individualsoftware. Seit mehreren Jahren arbeitet er mit diversen Spring-Projekten und Webtechnologien.
Weiterführende Informationen aus dem OSS Directory
mimacom ag
mimacom.com | 300 (in der Flowable Gruppe) Mitarbeitende | 18 Referenzen | 12 Produkte
«Wir wollen uns selber immer wieder übertreffen - bevor es andere tun. Erstens zum Nutzen unserer Kunden und zweitens im Interesse von uns selbst».
Digitale Innovationen verb...
Erstellt: 14.10.2012
Apache Hadoop
Software-Entwicklung / Frameworks4 Firmen, 0 Referenzen
Apache Hadoop ist ein in Java geschriebenes Framework für skalierbare, verteilt arbeitende Software. Es basiert auf dem MapReduce-Algorithmus von Google Inc. sowie auf Vorschlägen des Google...
Erstellt: 14.06.2015

OSS Nutzer:
armasuisse VBS
MILVER zur Verwaltung von militärischen Vorschriften für armasuisse VBS
Branche: Verwaltung: BundesverwaltungAusgeführt durch mimacom ag
Milver ist eine Applikation zur Verwaltung und Speicherung von Militärischen Verordnungen und Aufträgen. Dabei wird mit grossen Datenmengen und zahlreichen Obje...
Erstellt: 07.11.2012

OSS Nutzer:
Informatiksteuerungsorgan des Bundes (ISB)
MELANI-Net zur Früherkennung von Cyber-Attacken für das Informatiksteuerungsorgan des Bundes EFD
Branche: Verwaltung: BundesverwaltungAusgeführt durch mimacom ag
Pannen, Ausfälle sowie elektronische Attacken (z.B. durch Hacker) oder Malware (wie Viren und Würmer) stellen eine Bedrohung für die Informations- und Kommunik...
Erstellt: 07.11.2012

OSS Nutzer:
Schweizer Luftwaffe VBS
SPHAIR Portal zur Verwaltung von Bewerberdaten für die Schweizer Luftwaffe VBS
Branche: Verwaltung: BundesverwaltungAusgeführt durch mimacom ag
Für die Schweizer Luftwaffe hat die mimacom in 2011 ein Portal für die Organsiation SPHAIR entwickelt, welche für die Durchführung von Eingungstests für Piloten zuständig ist. ...
Erstellt: 07.11.2012

OSS Nutzer:
Swisscom (Schweiz) AG
Invoice Reporting Auswertungsapplikation für Grossunternehmen für Swisscom
Branche: Informatik und Telekommunikation, MedienunternehmenAusgeführt durch mimacom ag
Invoice Reporting ist eine umfassende Lösung zur Rechnungsübersicht und zur Auswertung der vom Kunden bezogenen Leistungen der Swisscom.
Success-Story Invoice Reportiingwe...
Erstellt: 07.11.2012

OSS Nutzer:
Swisscom (Schweiz) AG
RAS zur Verwaltung der Remote Access Services für Swisscom
Branche: Informatik und Telekommunikation, MedienunternehmenAusgeführt durch mimacom ag
Verwaltungs- und Reportingapplikation für Remote Access Services (RAS). Rich-Client für die Administration, sowie Web-Client für den Kundenzugriff.
weitere Referenze...
Erstellt: 07.11.2012

OSS Nutzer:
Swisscom (Schweiz) AG
Heureka webbasierte Reportingapplikation für Swisscom
Branche: Informatik und Telekommunikation, MedienunternehmenAusgeführt durch mimacom ag
Heureka besteht aus einer webbasierten Reportingapplikation für Voice- und Trafficdaten, sowie über Incidents und Orders und dem dazugehörigen Datawarehouse. Monatlich werden eine...
Erstellt: 07.11.2012

OSS Nutzer:
Atupri Krankenkasse
Atupri KBM Beschwerdemanagementsystem für die Atupri Krankenkasse
Branche: Banken und VersicherungenAusgeführt durch mimacom ag
Die Atupri Krankenkasse benötigte ein Beschwerdemanagement (Complaint Management), welches sie die Bedürfnisse und Wünsche ihrer Kunde besser und effizienter entgegen nehmen und bearbeit...
Erstellt: 07.11.2012