是否可以在自定义接收器中使用REST API进行Spark Streaming?
我试图能够异步地从该API进行多次调用/读取,并使用Spark Streaming来完成它。
答案 0 :(得分:1)
自定义接收器可以是异步生成数据的任何进程。通常,您的def receive()
方法会向您的REST服务器发送异步请求,可能使用Futures
和专用ThreadPool
。未来onCompletion
,我们调用store(data)
方法将结果提供给Spark Streaming作业。
简而言之,
def onStart()
=>创建管理异步请求响应处理的进程def receive()
=>持续进行I / O并通过调用store(...)
def onStop()
=>停止流程并清理onStart
创建的内容。custom receivers docs中有一个例子。