en
de

Big Data handlich mit der Databricks Cloud

31 Juli 2014
| |
Lesezeit: 5 Minutes

Der Umgang mit Big Data ist alles andere als handlich: viele Tools, schwere Infrastruktur und Experten für eben diese sind zwingend notwendig. Und das, bevor man überhaupt in seine Daten eintauchen kann! Vor diesem Berg stehen viele – gerade kleinere und mittelständische – Unternehmen, die häufig nicht die notwendigen Ressourcen haben, um diese Vorarbeit leisten zu können… Das muss so nicht sein! Das zumindest meint Databricks, die vor Kurzem ein innovatives Produkt vorgestellt haben, mit dem man sich auf das Wesentliche konzentrieren kann: die Daten.

Zunächst ein kleiner Exkurs: Lange war Apache Hadoop und sein Ökosystem das Synonym für Big Data – der graue Riese feiert immerhin bald seinen 10. Geburtstag. Wer heute moderner und unglaublich viel schneller arbeiten möchte, gibt vermutlich Apache Spark den Vortritt vor Apache Hadoop. Auch die großen Hadoop-Distributionen haben Spark schon in ihre Big-Data-Stacks integriert und bieten kommerziellen Support.

Databricks – mitgegründet von den Spark-Machern – hat nun auch ein Produkt auf Spark-Basis angekündigt: die Databricks Cloud. Vorgestellt wurde die Databricks Cloud auf dem diesjährigem Spark Summit Ende Juni in Scan Francisco von CEO Ion Stoica.

Big-Data-Hürden

Welche Hürden müssen bei Big Data gemeistert werden und wer ist dafür verantwortlich? Diese Frage hat Ion Stoica auf dem Spark Summit gestellt und beantwortet:

  1. Für das Cluster Setup und Management ist meist das IT Department zuständig
  2. Das Setup der Data Pipeline wird von Software Engineers und Data Scientists übernommen
  3. Um schließlich Einblicke und Erkenntnisse aus den Daten zu gewinnen, bedarf es dem kombinierten Engagement von Software Engineers, Data Scientists und Analysten

Für all diese Tasks benötigt man einen Zoo an unterschiedlichen Tools. Es gibt zwar Services, die einige Aspekte vereinfachen – Beispiel AWS Elastic Map Reduce und AWS Data Pipeline – aber sie decken nur einen Teil der Hürden ab. Databricks’ Vision ist es aber, ein Gesamtpaket zu liefern:

Make Big Data easy, easier to use and more accessible than ever before.

Und diese Vision scheint sich gerade zu erfüllen: Die Databricks Cloud ist eine gehostete Big-Data-Plattform auf Spark-Basis, die vom Cluster Management bis zur Analyse alles abdeckt.

Zunächst erzeugt der User mit wenigen Mausklicks ein vollkonfiguriertes und sofort einsetzbares Spark-Cluster beliebiger Größe. Es wird lediglich gefragt, wie viel Arbeitsspeicher denn benötigt wird. Der Rest wird von Databricks erledigt.

Das Cluster wird nicht von Databricks selbst gehostet, es wird einfach bei einem existierenden Cloud-Provider instanziiert – aktuell nur bei AWS. Weitere Cloud-Provider wie Azure sind in Planung.

Neben dem einfachen Provisionieren von Clustern übernimmt Databricks Cloud noch Aufgaben wie das Überwachen von Clustern und automatisches Neustarten von Knoten im Fehlerfall.

Databricks Cloud Architect

Quelle: „Databricks Update and Announcing Databricks-Cloud“ von Ion Stoica

 

Über dem gehosteten Spark-Cluster liegt der Workspace. Er besteht aus den drei Komponenten:

  1. Notebook
  2. Dashboard
  3. Job Launcher

Notebooks sind eine Art Scripte, die eine interaktive Analyse der Daten erlauben – das Konzept ist allerdings nicht neu und man kennt es zum Beispiel von IPython Notebooks. Innerhalb der Notebooks werden Scala-, Python- und SQL-Snippets unterstützt – natürlich auch gemischt im selben Notebook. Neben dem Berechnen von wichtigen Dingen kann man mit Snippets auch Daten visualisieren (tabellarisch oder geplottet):

Databricks Cloud Notebook

Abbildung aus: „Databricks Update and Announcing Databricks-Cloud“ von Ion Stoica

Die Berechnungen und Ergebnisse werden unglaublich schnell ausgeführt – so wie man es von Spark erwartet. Die Tabellen und Plots sind interaktiv, sie können parametrisiert werden und reagieren nicht weniger schnell.

Notebooks können außerdem Snippets aus anderen Notebooks verwenden, so dass man sie zu Bibliotheken zusammenfassen kann. Es bleibt noch zu sagen, dass Notebooks für Online-Kollaboration ausgelegt sind: Mehrere User können gleichzeitig an einem Notebook arbeiten. In der Demo hat das Feature noch nicht überzeugt und sieht bisher so aus, als ob es mehr Verwirrung stiftet, wenn sich der Notebook-Inhalt wie von Zauberhand ohne weiteren Hinweis ändert. Richtig umgesetzt wird es aber bestimmt sehr nützlich werden.


Während Notebooks eher einen explorativen Charakter haben, möchte man in Dashboards nur die Ergebnisse sehen: Plots und Tabellen werden in einem Dashboard zusammengefasst und veröffentlicht – zum Beispiel den Analysten.

Databricks Cloud Dashboard

Abbildung aus: „Databricks Update and Announcing Databricks-Cloud“ von Ion Stoica


Die letzte Komponente ist der Job Launcher mit dem man beliebige Spark-Apps – sie kommen normalerweise als JAR-File – ausführen kann. Das Ganze einmalig oder getriggert mit bestimmten Konditionen. Typische Einsatzzwecke sind ETL-Tasks, regelmäßige Analysen und andere.

Aber woher kommen die Daten?

Bisher war noch offen, wo die Daten eigentlich her kommen. In der Databricks Cloud werden unterschiedliche Datenquellen unterstützt: AWS S3, JDBC Datenquellen und ein File-Upload via Browser – letzteres scheint etwas fragwürdig im Big Data Kontext. Theoretisch sollten aber – über kurz oder lang – alle Datenquellen unterstützt werden die auch heute schon in Spark respektive Hadoop unterstützt werden.

Bei Verwendung von Spark Streaming ist man derzeit nicht so eingeschränkt, da die Streaming-Quellen normalerweise extern liegen: es sollte alles funktionieren, was derzeit auch schon so in Spark funktioniert: Sockets, Kafka, Twitter … und eigene Implementierungen.

Kette ich mich damit nicht an?

Bei so einer Lösung kommt automatisch der Gedanke nach einem Vendor Lock-In. Das soll hier nicht so sein. Databricks Cloud läuft zu 100% auf Apache Spark ohne eigene Anpassungen. Das heißt, der Code, der in der Databricks Cloud entwickelt wird, kann prinzipiell auf jeder anderen Spark Distribution ausgeführt werden – Versionsinkompatibilitäten seien mal dahin gestellt. Umgekehrt soll das Gleiche gelten!

Was bleibt?

Umgang mit Big Data ist alles andere als einfach. Die Zeiten, in denen man mehrere Stanford PhDs zum Betreiben einer einzigen Big-Data-Plattform auf Hadoop-Basis gebraucht hat, sind aber auch schon lange her – (bitte nicht ernst nehmen). Aktuelle Distributionen nehmen schon unglaublich viel Arbeit ab und erleichtern den Einstieg ungemein. Aber es geht eben auch immer noch etwas besser.

Dass Spark etwas Großes ist, weiß man schon seit geraumer Zeit. Dieses Modell für verteilte Berechnungen hat bestimmt den einen oder anderen Engineer – mich eingeschlossen – ziemlich beeindruckt. Die neue Databricks Cloud hat noch mal ganz schön einen drauf gesetzt. Nicht nur, dass man sich das komplette Cluster Management spart, man kann sich direkt – nach nur wenigen Minuten – auf die eigentliche Aufgabe stürzen: die Arbeit mit Daten

Leider ist das Beta-Programm noch nicht geöffnet, so dass ich leider noch keine Gelegenheit hatte, selbst Hand anzulegen. Wer sich aber mal eben kurz beeindrucken lassen möchte, der sollte sich das Video der Keynote gleich hier ansehen – Ungeduldige sollten entweder die ersten 14 Minuten durchhalten oder einfach vorspulen.

Was meinen Sie? Sind Sie auch so beeindruckt wie ich?

Kommentare (0)

×

Updates

Schreiben Sie sich jetzt ein für unsere zwei-wöchentlichen Updates per E-Mail.

This field is required
This field is required
This field is required

Mich interessiert

Select at least one category
You were signed up successfully.

Erhalten Sie regelmäßige Updates zu neuen Blogartikeln

Jetzt anmelden

Oder möchten Sie eine Projektanfrage mit uns besprechen? Kontakt aufnehmen »