Suchen

Nachbericht Spark+AI Summit 2020 Databricks erweitert Machine Learning Framework

| Autor / Redakteur: Michael Matzer / Nico Litzel

Der von Databricks veranstaltete Spark+AI Summit startete kürzlich mit 60.000 angemeldeten Teilnehmern aus über 100 Ländern, die sich über die neuesten Trends und Entwicklungen aus der Welt der KI und des ML innerhalb der Apache Spark Community informierten. Databricks, der Erfinder und Betreuer von Apache Spark, hat sein 2018 vorgestelltes ML-Framework MLflow erweitert und der Open Source Community übergeben. Auf der neuen Version 3.0 von Spark bauen die neuen oder erweiterten Plattformkomponenten Delta Lake, Delta Engine und Redash auf.

Firmen zum Thema

60.000 angemeldete Teilnehmer aus über 100 Ländern besuchten den von Databricks organisierten Spark+AI Summit 2020.
60.000 angemeldete Teilnehmer aus über 100 Ländern besuchten den von Databricks organisierten Spark+AI Summit 2020.
(Bild: Databricks)

Die Browser-basierte Benutzeroberfläche von MLflow zeigt Datenquellen und Filter an.
Die Browser-basierte Benutzeroberfläche von MLflow zeigt Datenquellen und Filter an.
(Bild: Databricks)

Die Unified Analytics Platform von Databricks umfasst mit MLflow ein quelloffenes Cloud-übergreifendes Framework, das den Ablauf einer Machine Learning Pipeline vereinfachen soll. Diese Plattform wird von der Community begeistert angenommen, wie über zwei Millionen Downloads pro Monat und über 200 Mitwirkende in nur zwei Jahren belegen. Auf dem Summit verkündete Databricks, dass MLflow der Linux Foundation beitreten werde.

Als erstes Framework für Machine Learning verwaltet MLflow Experimente (Code, Daten usw.) und speichert Projekte in einem austauschbaren Format, damit sie reproduzierbare Ergebnisse liefern. Zudem lässt sich ein Modell in einem austauschbaren Format speichern, um sein Deployment auf einer anderen Plattform zu erleichtern.
Als erstes Framework für Machine Learning verwaltet MLflow Experimente (Code, Daten usw.) und speichert Projekte in einem austauschbaren Format, damit sie reproduzierbare Ergebnisse liefern. Zudem lässt sich ein Modell in einem austauschbaren Format speichern, um sein Deployment auf einer anderen Plattform zu erleichtern.
(Bild: Databricks)

„Die Zustimmung zeigt die Notwendigkeit eines Open-Source-Ansatzes zur Standardisierung des Lebenszyklus von Machine Learning“, erklärt Michael Dolan, VP of Strategic Programs bei der Linux Foundation. Matei Zaharia, der Schöpfer von Apache Spark und MLflow, sagte in seiner Keynote: „MLflow ist zum Open-Source-Standard für Machine-Learning-Plattformen geworden, dank der Community der Mitwirkenden, die aus Hunderten von Ingenieuren aus über hundert Unternehmen besteht.

Delta Engine

Der Delta Lake hat nun eine Abfrage-Engine erhalten.
Der Delta Lake hat nun eine Abfrage-Engine erhalten.
(Bild: Databricks)

Zugleich hat Databricks weitere Neuheiten angekündigt. Delta Engine ist eine leistungsstarke Abfrage-Engine für Cloud Data Lakes. Sie heißen bei Databricks „Delta Lakes“. Die Engine soll den Datentechnikern mithilfe des in Spark integrierten Delta-Engine-Moduls hohe, skalierbare Performance, verlässliche Daten aufgrund transaktionaler Integrität sowie die niedrige Latenzzeit von Streaming-Systemen bieten (Spark beherrscht Streaming von Beginn an). Der Fokus liegt also auf höherem Datendurchsatz.

Die Delta Engine ist vektorisiert und verfügt über einen Optimierer.
Die Delta Engine ist vektorisiert und verfügt über einen Optimierer.
(Bild: Databricks)

„Dafür ist die Query Engine neu in C++ geschrieben worden“, erläutert Clemens Mewald, Director of Product Management, Data Science and Machine Learning bei Databricks. Vorher habe sie in Java vorgelegen und musste auf einer JVM ausgeführt werden. „Jetzt ist die Latenzzeit viel geringer, nicht zuletzt durch Parallelverarbeitung und SIMD.“ Die vektorisierte Abfrage-Engine, die besonders Machine Learning und KI-Prozesse unterstützen soll, sei für Massive Parallel Processing (MPP) und SIMD (Single Instruction, Multiple Data) erweitert worden.

Delta Lake

Der kuratierte Delta Lake von Databricks unterstützt BI, Streaming, Machine Learning und Data Science.
Der kuratierte Delta Lake von Databricks unterstützt BI, Streaming, Machine Learning und Data Science.
(Bild: Databricks)

„Organisationen können kuratierte Data Lakes erstellen, die strukturierte und halbstrukturierte Daten enthalten, und alle ihre Analysen auf qualitativ hochwertigen, aktuellen Daten in der Cloud ausführen“, erläutert Mewald. Diese kuratierten Data Lakes werden auch als „Lakehouses“ bezeichnet, weil sie Eigenschaften eines Data Lakes mit denen eines Data Warehouses vereinen. Ali Ghodsi, Mitbegründer und CEO von Databricks, ergänzt: „Kuratierte Cloud Data Lakes bieten Organisationen die Möglichkeit, jede Art von Analyse, einschließlich Data Science und Machine Learning, mit all ihren aktuellsten Daten durchzuführen."

Redash

Delta Lake und Delta Engine liefern dem neuen Redash-Dashboard Daten aus vordefinierten Quellen. Umgekehrt kann Redash auch als Workbench dienen, um die Daten aus dem Data Lake optimal zu bewirtschaften.
Delta Lake und Delta Engine liefern dem neuen Redash-Dashboard Daten aus vordefinierten Quellen. Umgekehrt kann Redash auch als Workbench dienen, um die Daten aus dem Data Lake optimal zu bewirtschaften.
(Bild: Databricks)

Damit solch ein Lakehouse auch leicht von qualifizierten Analysten und Datenwissenschaftlern verwendet werden kann, hat Databricks die Firma Redash gekauft. Dieses Unternehmen steht hinter dem Open-Source-Projekt Redash, um benutzerfreundliche Dashboarding- und Visualisierungsfunktionen für diese kuratierten Data Lakes bereitzustellen. „Mit Redash können Data Scientists und SQL-Analysten die Komplexität des Transfers von Daten zur Analyse in andere Systeme reduzieren“, sagte Ghodsi. Aber Redash diene nicht nur der Visualisierung auf einem Dashboard, sondern ist nach Angaben von Mewald auch eine Workbench. Mit ihr lassen sich Datenquellen erschließen und erforschen. Die Analyse erfolgt mit SQL, die Weiterverarbeitung mit Tools wie Atlassian. Die Visualisierungs-Engine erzeugt täglich auf automatische Weise PDF-Dokumente, die sich an das ganze Team verteilen lassen, etwa in den Fachbereichen.

Das Open-Source-Projekt Redash, das Millionen von Anwendern in Tausenden von Organisationen nutzen, kann ab sofort mit Databricks über einen kostenlosen Konnektor verwendet werden. Redash soll in den kommenden Monaten vollständig in die Unified Data Analytics-Plattform und den Databricks-Workspace integriert werden und Funktionen wie Delta Engine nutzen können.

Für ein „Lakehouse“ stehen also nun nicht nur eine performante Abfragemaschine bereit, sondern mit Redash auch ein Kuratierungs-, Erforschungs- und Visualisierungswerkzeug. Die Datenquellen müssen aber keineswegs on-premises vorliegen, sondern sind in der Regel in der Public Cloud zu finden: bei Amazon Web Services, in MS Azure und auf der Google Cloud Platform (GCP). Von dort können sie auch als Data Streaming, beispielsweise aus einer IoT-Anwendung, verarbeitet werden, denn Spark beherrscht seit jeher Streaming. „Spark arbeitet reibungslos mit Apache Kafka zusammen“, erläutert Clemens Mewald. „Der Medienkonzern Comcast hat auf Spark Streaming beispielsweise eine sprachgesteuerte Fernsteuerung für Set-top-Boxen und andere Endgeräte erstellt.“

Apache Spark v3.0

Das neue Major Release 3.0 von Spark wurde am 18. Juni freigegeben. Am stärksten profitiert die Spark-SQL-Engine von den zahlreichen Verbesserungen. Ihre Kompatibilität zu ANSI-SQL wurde erweitert, wodurch Data Scientists von einer höheren Datenqualität profitieren sollen, wenn sie Workloads aus anderen SQL-Engines zu Spark SQL migrieren. Die Bibliotheken für Streaming und Machine Learning sowie APIs für SQL- und DataFrames können die Neuerungen sicherlich gut gebrauchen.

Um die Performance des Frameworks zu erhöhen, wurden neue Funktionen wie Adaptive Query Execution (AQE) oder Dynamic Partition Pruning (DPP) eingeführt. Das AQE-Framework erlaubt es dem Admin, verschiedene adaptive Optimierungsfunktionen für die Anpassung des Laufzeitverhaltens beim Eintreffen neuer Daten zu nutzen.

Mit Dynamic Partition Pruning kann der Optimierer während des Kompilierens besser entscheiden, welche Partitionen er überspringen kann. Relevant ist das vor allem in sternförmigen Datenbankschemata, die aus einer oder mehreren Faktentabellen bestehen, welche wiederum auf beliebig viele Dimensionstabellen verweisen. Mithilfe dieser Techniken soll Version 3.0 im Vergleich zu Version 2.4x, etwa im TPC-DS-Benchmark, mindestens die doppelte Leistung liefern.

Obwohl Spark mit Scala eine eigene Programmiersprache anbietet, ist Python alias PySpark mittlerweile im Spark-Umfeld die wichtigste Programmiersprache. Hier ergaben sich zahlreiche weitere Überarbeitungen hinsichtlich Usability und Funktionsumfang. Das betrifft besonders die Pandas-API für User Defined Functions (UDF), die um Hinweise zu Python-Typen, neue Pandas-UDF-Typen sowie eine Python-typischere Fehlerbehandlung zum Umgang mit PySpark Exceptions erweitert wurde. Databricks hat die Databricks Runtime 7.0 angekündigt, welche die Neuerungen von Spark 3.0 vollständig unterstützt.

Artikelfiles und Artikellinks

(ID:46677147)

Über den Autor