Microsoft、「Azure Event Hubs」の「Apache Spark」コネクターを正式リリースAzure Event HubsとSparkでストリーミングアプリケーションを簡単に構築

Microsoftは、「Azure Event Hubs」と「Apache Spark」を連携させるコネクターの正式提供を開始した。

» 2018年03月27日 08時00分 公開
[@IT]

 Microsoftは2018年3月22日(米国時間)、毎秒数百万のイベントを受け取って処理できるスケーラブルなイベント処理サービス「Azure Event Hubs」(以下、Event Hubs)と、オープンソースの分散処理フレームワーク「Apache Spark」(以下、Spark)を連携させるコネクター「Azure Event Hubs Connector for Apache Spark」(以下、Sparkコネクター)の正式提供を開始したと発表した。

Azure Event Hubs Connector for Apache Spark

 Sparkコネクターにより、Event HubsユーザーはSparkを使って、エンドツーエンドのストリーミングアプリケーションを簡単に構築できる。このコネクターは、「Spark 2.1」「Spark 2.2」「Spark 2.3」の「Spark Core」「Spark Streaming」「Structured Streaming」をサポートしている。

 Spark StreamingとStructured Streamingは、スケーラブルでフォールトトレラントなストリーム処理エンジンだ。これらの処理エンジンにより、ユーザーはmap、reduce、join、windowのような関数を使用した複雑なアルゴリズムを使って、膨大なデータを処理できる。このデータは、ファイルシステムやデータベースにプッシュしたり、Event Hubsにプッシュバックしたりできる。

 ストリームのセットアップは次のように記述する。

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()

 イベントがSparkにストリーミングされるようになったら、Sparkはそれらを自在に処理できる。Sparkコネクターはオープンソースであり、GitHubで公開されている。Event HubsとSpark Streaming、Structured Streamingの連携ガイドなど、関連ドキュメントも全てGitHubページで公開されている。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。