Die Neuerungen in Spark 2.0
Der aktuelle Summit ist der erste seit dem Launch von Spark in der Version 2.0. Diese Version bringt zunächst deutliche Performancegewinne durch weitere grundlegende Optimierungen (Project Tungsten: "Bringing Apache Spark Closer to Bare Metal") sowie Vereinheitlichungen in den APIs mit sich, vor allem bei der Zusammenführung von DataFrames und DataSets.
Darüber hinaus wurde die neue Schnittstelle für Streamdaten vorgestellt. Hierzu wurde in der zweiten Keynote eine Livedemonstration mit Twitterfeeds gezeigt, für uns Europäer zum Brexit statt zum Clinton-Trump-Wahlkampf. Das Machine-Learning-Modell, das zunächst für statisch eingelesene Daten bzw. Batchberechnungen erstellt wurde, konnte einfach mit Anpassung einer Zeile auch für eine Streamingquelle genutzt werden. Der Vortragende wechselte dabei auch laufend im selben Notebook zwischen Code in Scala und Code in Python. Durch diese stärker generische API muss der Spark-User sich also nicht mehr im Vorfeld entscheiden, ob er für Streaming oder Batchverarbeitung entwickelt.
Interessante Vortragsthemen
Die auf die Keynotes folgenden Vorträge sind in vier Tracks aufgeteilt, nach Data Science, Developer, Spark Ecosystem und Enterprise. Mit insgesamt etwa 1.000 Summit-Besuchern sind die Vorträge immer gut besucht. Die inhaltliche Bandbreite reicht von Predictive-Maintenance-Themen, z. B. Vorhersage von Weichenausfällen in Eisenbahnnetzen, über die Verknüpfung von Spark mit geeigneten Technologien (R-Wrapper, Sparkling Water/H20, Apache Ignite) bis hin zu "Internet of Things"-Themen. Ein Vortrag von mmmmoooogle berichtete sogar vom Einsatz von Spark für die Analyse von unzähligen biometrischen Daten an vernetzten Kühen zur Steigerung der Milchproduktion, also ein "Internet of Cows".
Der Hype geht weiter
Spark verbreitete sich sehr schnell in den letzten drei Jahren, sowohl in Forschung wie auch in Industrie und Wirtschaft. Ein leitender Business Developer von Databricks erzählte mir bei einem Termin, dass eigentlich keiner der Databricks-Kunden Spark ausprobiert hat und dann zum Schluss gekommen ist, es würde nicht wie gewünscht funktionieren oder für ihn ungeeignet sein. Er erklärte mir weiterhin, dass die Anfragen und Ideen für neue Features in Spark so gewaltig sind durch die rasant wachsende Community, dass Databricks zunächst immer erst priorisieren muss, welche Entwicklung der größte Benefit für möglichst viele User darstellt, bevor sie sich eines Themas annehmen.
Bei Spark von einem Hype zu sprechen, tut der Technologie in meinen Augen etwas unrecht. Hype impliziert für mich immer etwas eine Blase um das Thema. Aber bei Spark wird nichts versprochen, was es nicht halten kann, und der Erfolg sowie die schnelle Verbreitung sprechen für sich. Es bleibt spannend.
"One More Thing", Update für Tag 2
Die aktuellen Keynotes am zweiten Tag des Spark Summits bringen einige interessante Ankündigungen mit sich.
Apache Spark + Google Tensorflow + Databricks = Tensorframe
Databricks hat soeben ein neues Produkt angekündigt, und zwar TensorFrame. Wer ein Databricks-Notebook benutzt, kann sich auf den komfortablen Service verlassen, dass innerhalb von Minuten bei Bedarf ein skalierbarer Cluster von Spark-Nodes in der AWS Amazon Cloud (oder bald auch in Microsoft Azure!) gestartet wird. Das nimmt dem User die komplette aufwendige Infrastruktur ab und stellt komplexe vorkonfigurierte Rechensysteme quasi sofort zur Verfügung. Dieser Status quo wird erweitert um neu verfügbare Spark-Nodes, die auf GPUs, also Grafikkarten, basieren und maßgeschneidert sind für Deep-Learning-Aufgaben.Der Vortragende konnte eindrucksvoll eine Livedemonstration zeigen, in der in kurzer Zeit Googles DeepDream-Algorithmus über Tensorflow innerhalb eines Databricks-Spark-Notebooks auf ein frisch aus dem Netz gezogenes Bild von Boris Johnson angewendet wurde. Impressive!Spark arbeitet hier übrigens mit dem Grafikkartenhersteller NVIDIA zusammen, um die Technologien weiter aufeinander abzustimmen.