2016-11-10 33 views

回答

1

自定義接收器可以是任何異步生成數據的進程。通常,def receive()方法會向您的REST服務器發送異步請求,可能使用Futures和專用ThreadPool。未來的onCompletion,我們稱store(data)方法將結果給予Spark Streaming作業。 簡而言之,

  • def onStart() =>創建管理異步請求響應處理過程
  • def receive() =>連續做的I/O,並通過調用store(...)
  • def onStop() =>停止報告結果該過程並清理onStart創建的內容。

有一個在custom receivers docs一個例子。

+0

謝謝!我正在考慮使用一些外部實現(正在研究Flume),首先將數據轉化爲Kafka,然後使用Kafka作爲我的Spark Streaming應用程序的源代碼,但似乎我可以使其工作得很好。 – Eugen