2016-06-17 10 views
3

私は単純化されたユースケースを説明しようとします。存在します:WebサーバーとSparkアプリケーションを接続してください

  1. スパークアプリケーションは、単語を数えます。
  2. フォームを使用してWebページを提供するWebサーバー。
  3. このフォームに単語を入力して送信できるユーザー。

サーバーは単語を受信し、それをSparkアプリケーションに送信します。 Sparkアプリケーションは、何らかのデータに基づいてこの単語を入力として受け取り、この単語は再計算されたジョブを起動します。 Sparkが計算を完了すると、Webサーバーに結果を送信し、結果をWebページに表示します。

質問は、スパークアプリケーションとウェブサーバーの間の通信を確立する方法ですか?

私は、spark-jobserverやspark-streamingがここで助けになると思いますが、それについてはわかりません。

+0

感謝の@ user398371には、私はそれを動作させます。 興味がある方は、[scalatra](https(https://www.postlet.jp/))でビルドされた[wordCountExample](https://github.com/monapasan/apache-spark-job-server-with-web-app) ://github.com/scalatra/scalatra)と[スパークジョブサーバー](https://github.com/spark-jobserver/spark-jobserver) –

答えて

3

これに役立つプロジェクトがいくつかあります。

通常、スパークジョブを管理するために別個のWebサーバーを実行します。これは、spark-submit cliを回避するためにいくつかの面倒なsystemExecの作業があるためです。明らかに、これはプライマリアプリケーションとは異なるポートで実行され、プライマリWebアプリケーションのサーバーコンポーネントによってのみアクセス可能です。

最も顕著なあなたのためにこれを処理するいくつかのオープンソースプロジェクトがあります。

https://github.com/spark-jobserver/spark-jobserver

https://github.com/cloudera/livy

関連する問題