Datenanalyse: JetBrains stellt Kotlin-API für Apache Spark vor

Das Open-Source-Projekt will eine Kompatibilitätsschicht zwischen der Programmiersprache Kotlin und dem Big-Data-Framework Apache Spark bieten.

In Pocket speichern vorlesen Druckansicht
Datenanalyse: JetBrains stellt Kotlin-API für Apache Spark vor
Lesezeit: 2 Min.
Von
  • Alexander Neumann

JetBrains hat eine Kotlin-API für die Big-Data-Engine Apache Spark vorgestellt. Das bei der Analyse groß angelegter verteilter Datenverarbeitung eingesetzte Spark ist in der Programmiersprache Scala geschrieben, die wie das von JetBrains entwickelte Kotlin zu den JVM-Sprachen (Java Virtual Machine) zählt.

Bislang konnten Kotlin-Entwickler durch die Interoperabilität mit Java bereits über die Java-API mit Spark arbeiten, jedoch ließ sich so wohl das mit Kotlin verbundene Potenzial offenbar nicht gänzlich ausschöpfen. So kam es zur Kotlin-API für Spark, die derzeit den Status einer ersten Preview hat. Das Projekt soll das Schreiben von "idiomatischem Kotlin-Code unter Verwendung vertrauter Sprachmerkmale wie Datenklassen und Lambda-Ausdrücke" ermöglichen.

Außerdem erweitert die API bestehende Features um einige andere Funktionen. Beispielsweise bietet withSpark eine Möglichkeit, mit der SparkSession-Klasse zu arbeiten, die den Aufruf von spark.stop() am Ende eines Blocks automatisch übernimmt. Außerdem fügt Kotlin for Spark leftJoin, rightJoin und andere Aliase zu den vorhandenen Methoden hinzu, die jedoch von vornherein nullsicher sind. Die API kümmert sich also um die Null Safety und filtert Nullergebnisse heraus.

Diese erste Version von Kotlin für Apache Spark unterstützt das aktuelle Apache Spark 3.0, die früheren Spark-Versionen 2.4.2 bis 2.4.6 sollen in späteren Iterationen folgen. Die API deckt offenbar alle Methoden ab, die sich für das Erstellen von Spark-Anwendungen und hier insbesondere für Batch-ETL-Aufgaben eignen. Außerdem haben die Entwickler die Hoffnung, dass Kotlin früher oder später zu den "offiziellen" Spark-Sprachen wie Scala, Python, Java und R aufgenommen wird.

Einen tiefergehenden Einblick bieten die Blog-Ankündigung der Entwickler, vor allem aber auch die zugehörige GitHub-Präsenz.

(ane)