Azure Event Hubs schließt die Integration von Apache Spark ab

Anwendern der Event Hubs steht Apache Spark über einen Connector nun in vollem Umfang für den Bau von End-to-End-Streaming-Anwendungen zur Verfügung.

In Pocket speichern vorlesen Druckansicht
Support für Kubernetes in Apache Spark 2.3
Lesezeit: 2 Min.

Das Team hinter den Azure Event Hubs gibt die allgemeine Verfügbarkeit (GA) von Apache Spark bekannt. Das Framework für Cluster Computing stellt unter anderem Module für SQL, Machine Learning und Graph Processing sowie Streaming bereit. Anwender der Event Hubs können Spark daher nun in vollem Umfang einsetzen, um End-to-End-Streaming-Anwendungen zu bauen. Der Spark-Connector der Event Hubs unterstützt dafür Spark Core, Spark Streaming und Structured Streaming for Spark (Versionen 2.1 bis 2.3). Die erforderlichen Codezeilen zum Aufsetzen eines Streams zeigt das folgende Listing:

import org.apache.spark.eventhubs._
import org.apache.spark.sql.SparkSession

val eventHubsConf = EventHubsConf("{EVENT HUB CONNECTION STRING FROM AZURE PORTAL}")
.setStartingPosition(EventPosition.fromEndOfStream)

// Create a stream that reads data from the specified Event Hub.
val spark = SparkSession.builder.appName("SimpleStream").getOrCreate()
val eventHubStream = spark.readStream
.format("eventhubs")
.options(eventHubsConf.toMap)
.load()

Die beiden skalierbaren, fehlertoleranten Stream Processing Engines Spark Streaming und Structured Streaming stellen für die Verarbeitung der Daten komplexe Algorithmen auf Basis von Funktionen wie map, reduce, join und window bereit. Spark erlaubt auf die Weise auch Machine Learning oder Graphanalysen. Zudem lassen sich die Daten in ein Filesystem oder eine Datenbank weiterreichen – bei Bedarf auch zurück in die Azure Event Hubs.

Der Azure Event Hubs Connector for Apache Spark steht nebst umfassender Dokumentation als Open Source auf GitHub zum Download zur Verfügung. (map)