Spark Streaming REST 自定义接收器

Spark Streaming REST Custom Receiver

是否可以在 Spark Streaming 的自定义接收器中使用 REST API?

我正在尝试能够异步地从 API 进行多次调用/读取,并使用 Spark Streaming 来完成它。

自定义接收器可以是异步生成数据的任何进程。通常,您的 def receive() 方法会将异步请求发送到您的 REST 服务器,可能使用 Futures 和专用的 ThreadPoolonCompletion以后,我们调用store(data)方法将结果交给Spark Streaming作业。 简而言之,

  • def onStart() => 创建管理异步请求响应处理的进程
  • def receive() => 连续执行 I/O 并通过调用 store(...)
  • 报告结果
  • def onStop() => 停止进程并清理 onStart 创建的内容。

custom receivers docs 中有一个示例。