2016-11-10 12 views

答えて

1

カスタムレシーバは、データを非同期で生成するプロセスであればどれでもかまいません。通常、def receive()メソッドは、Futuresと専用のThreadPoolを使用して、RESTサーバーに非同期要求を送信します。 onCompletionの場合は、store(data)メソッドを呼び出して、結果をSpark Streamingジョブに渡します。一言で言えば 、

  • def onStart()は=>取り扱い非同期要求応答を管理するプロセスを作成します
  • def receive() =>連続I/Oを行い、store(...)
  • def onStop() =>停止を呼び出して結果を報告プロセスを開き、onStartが作成するものをクリーンアップします。

custom receivers docsに例があります。

+0

ありがとうございます!私はいくつかの外部実装(Flumeを探していました)を使用して、Kafkaのようなものにデータを取得し、Spark StreamingアプリのソースとしてKafkaを使用することを考えていましたが、うまく動作するように思えます。 – Eugen

関連する問題