NASAs freies Daten-Management- und Verarbeitungs-Toolkit

Datenverarbeitung im NASA-Stil mit Apache OODT

Tom Barber

© Shutterstock / FerGregory

Apache OODT ist ein Daten-Management- und Verarbeitungs-Toolkit. Es wurde zunächst von NASAs Jet Propulsion Laboratory entwickelt und danach der Apache Software Foundation gestiftet. Es kommt vor allem bei Forschungsprojekten zum Einsatz, aber darauf ist es längst nicht beschränkt Tom Baber, Vice President von Apache OODT, hat sich die Zeit genommen uns das Projekt kurz vorzustellen.

Apache OODT (Object Oriented Data Technology) ist ein Daten-Management- und Verarbeitungs-Toolkit. Aufgrund der sehr unterschiedlichen Anforderungen der NASA ist Apache OODT jedoch keine schlüsselfertige Lösung, bei der alles reibungslos funktioniert. Stattdessen ermöglicht es mit seinen vielfältigen Erweiterungsoptionen Deployments in nahezu jeder denkbaren Situation, in der Datenmanagement oder Datenpipelines benötigt werden.

OODT besitzt eine Vielzahl von Komponenten, die verschiedene Aufgaben erfüllen. Beispielsweise wurde der Dateimanager erstellt, um Dateien und Streams von Drittanwendungen aufzunehmen, ihre Metadaten auszulesen und zur Weiter- oder End-User-Verarbeitung zu speichern. Darüber hinaus besitzt der Dateimanager ein Workflow-Modul, das den Zustrom von Daten akzeptiert, deren Post-Processing erlaubt und die Ausgaben sichert. Ressourcenverwaltung für Workflow-Loads, Python-Bindings für das Skripten eigener OODT-Prozesse – die Liste geht noch weiter. Daneben bietet die Plattform eine Reihe von Web-Applikationen und Command-Line-Tools, mit deren Hilfe User-Interaktionen möglich sind und Web-Services aufgesetzt werden können. Natürlich kann dies erweitert und verändert werden, damit es den Voraussetzungen eines Projekts entspricht.

Metadaten sind First Class Citizen

Eines der Kernprinzipien der OODT-Plattform ist die Nutzung von Metadaten als „First-Class-Citizen“. Der Dateimanger kann die Metadaten von Dateien bei deren Aufnahme erkennen und sie neben den gespeicherten Dateien sichern. Zum Beispiel können die Anwender JPG-Bilder an die Plattform senden. OODT speichert sie nicht nur ab, sondern bezieht und markiert gleichzeitig die EXIF-Bilddaten. Entwicklern ist es so möglich, eine Web-Applikation zu schreiben, die im Archiv nach JPG-Dateien mithilfe von Tags sucht. Dies ist ein Real-Life-Szenario, auf das wir später zurückkommen werden.

Die Anwender können also ihre eigenen Extractors für benutzerdefinierte Dateiformate oder spezifische Datenpunkte kreieren, die in die Plattform führen. Obendrein ist es ihnen möglich, auf die Apache-Tika-Engine zurückzugreifen, um Metadaten „on the fly“ zu gewinnen. Tika ist in der Lage, die meisten gängigen Dateitypen auszulesen; weitere Formate können durch Erweiterungen hinzugefügt werden. Beispielsweise enthalten Dokumente, Audiodateien, Videos oder Bilder integrierte Text-Metadaten, die Tika automatisch extrahieren kann. OODT kann all diese Informationen nehmen und sie für User, Workflows oder anderen Prozessen durchsuchbar machen.

Lesen Sie auch: „Das ist doch keine Rocket-Science“ – Was Software-Entwicklung von der Weltraumforschung lernen kann

Wo kommt Apache OODT zum Einsatz?

Apache OODT kommt viel sowohl im wissenschaftlichen als auch im wirtschaftlichen Bereich zum Einsatz. Die NASA hat die Plattform in einer Reihe von Erd-Satelliten-Missionen eingesetzt – Seawinds, OCO und OCO-2 SMAP sind nur einige Beispiele. OODT hilft beim Senden sowie Verarbeiten der Daten und stellt sie Wissenschaftlern weltweit zur Verfügung. Beispielsweise wird das öffentliche NASA Planetary Data System (PDS), das wissenschaftliche Daten von NASA-Missionen ausgibt, von Apache OODT angetrieben. Außerdem hilft OODT bei der Krebserkennung des National Cancer Institute (NCI) Early Detection Research Network (EDRN).

Aktuell kommt die Plattform im DARPA Memex Programm zur Anwendung. Dort verbessert sie die Suche nach und die Erkennung von kriminellen Aktivitäten im Dark Web. Um Bilder und Daten ausfindig zu machen, die dabei helfen, illegale Vorgänge zu lokalisieren, wird auf Apache OODT und eine Reihe weitere Open-Source-Technologien zurückgegriffen. Zum Einsatz kommt dabei OODTs automatische Metadaten-Extraction, die im Verbund mit weiteren Technologien die vorhandenen Daten aufnimmt und den Forschern, Agenten und Stakeholdern zugänglich macht.

OODT kommt aber noch in weiteren wissenschaftlichen Forschungsbereichen zum Einsatz. So wird beispielsweise die Schneefallrate in Nordamerika mithilfe der Plattform ermittelt; und auch in der Genomforschung findet es Verwendung.

Das heißt natürlich nicht, dass OODT bloß im Wissenschaftsbereich eingesetzt wird. Dass die Plattform hier ihren Schwerpunkt besitzt, ist lediglich auf die Tatsache zurückzuführen, dass sie ursprünglich von NASA-Entwicklern geschrieben wurde. Darüber hinaus wird OODT ebenfalls für Business-Use-Cases und im Internet-of-Things-Sektor (IoT) verwendet. Beispielsweise können Unternehmen, bei denen auf ein Datenpool oder auf eine Data-Staging-Area im Rahmen ihrer Business-Intelligence zurückgegriffen wird, von OODT profitieren. Und auch Reporting-Systeme können OODT zum Tracken von Dateien in ihrer Staging Area sinnvoll einsetzen, um sie den Endanwendern im Rohformat oder per Workflow bereitzustellen. Ferner findet OODT gleichermaßen im IoT-Bereich sowie bei der generellen Sensorverarbeitung Verwendung. Die Plattform hilft dabei, die Sensordaten sowie den Datenaustausch zwischen verschiedenen Komponenten zu erfassen und zu archivieren. Das erlaubt es Forschern, weitere Erkenntnisse über die Daten zu gewinnen, mit denen sie operieren.

Erste Schritte mit Apache OODT

Wie ich bereits am Anfang des Artikels gesagt habe, ist OODT keine Out-of-the-box-Lösung. Deshalb haben wir versucht, den Einstieg so einfach wie möglich zu machen. Dafür stellt OODT das RADIX-Build-System bereit, das eine vollständig operationale sowie einsatzbereite OODT-Plattform kompiliert.

Die RADIX-Distribution kann mit folgenden Befehlen zum Laufen gebracht werden:

export JAVA_HOME=/usr/lib/jvm… (adjust for your own JAVA_HOME)
curl -s "https://git-wip-
us.apache.org/repos/asf?p=oodt.git;a=blob_plain;f=mvn/archetypes/radix/
src/main/resources/bin/radix;hb=HEAD" | bash

mv oodt oodt-src; cd oodt-src; mvn install
mkdir ../oodt; tar -xvf distribution/target/oodt-distribution- 0.1-
bin.tar.gz -C ../oodt
cd ../oodt; ./bin/oodt start
./resmgr/bin/batch_stub 2001

Wird daraufhin http://localhost:8080/opsui angesteuert, sollte das standardmäßige OPSUI-System zu sehen sein, das eine Überwachung und eine Abfrage des Systems erlaubt. Außerdem sind in der OODT-Deployment-Directory verschiedene Binärcodes für Serverkomponenten, Client-Tools und weitere Konfigurationsdateien zu finden, die für eine Standardinstallation benötigt werden. Um ein besseres Verständnis von seinem eigenen Projekt zu gewinnen, kann es in der jeweils favorisierten IDE geöffnet werden. Da es sich um ein Maven-Projekt handelt, ist es möglich, die root pom.xml-Datei zu öffnen, welche die restliche Arbeit übernimmt. Der Vorteil des RADIX-Build liegt darin, dass Veränderungen an der OODT-Quelle durch die Verwendung von Maven sowie der oben erwähnten Befehle vorgenommen und rekompiliert werden können. Das versetzt einen in die Lage, die eigenen Konfigurationen neben den Haupt-OODT-Bibliotheken zu deployen.

Es braucht natürlich seine Zeit, bis man in der Lage ist, das System derart zu erweitern. Deshalb haben wir eine ausführliche OODT-Wiki-Dokumentation eingerichtet. Bei weitergehenden Fragen kann zudem auf das Feedback einer aktiven Community von NASA- und Nicht-NASA-Entwicklern zurückgegriffen werden. Wenn du also meinst, dass OODT gut in dein Projekt passt, dann werfe einen Blick auf die Mailingliste und sage: „Hi!“

Verwandte Themen:

Geschrieben von
Tom Barber
Tom Barber
Tom Barber has been a vocal Open Source Business Intelligence proponent for many years and currently holds the post of VP Apache OODT. He is well known in the Pentaho community having instigated a number of Pentaho community meetings in the UK and Europe. He has extensive experience of information management, business intelligence, data warehousing, and data integration with a range of technologies. Tom is also the project founder of the Apache Licensed Saiku OLAP Analysis Tool. When not hacking Open Source technologies Tom is the Technical Director of Meteorite Consulting, an open source focussed Business Intelligence consultancy.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: