Spark流在DStream上异步运行操作

时间:2018-10-14 08:30:13

标签: apache-spark asynchronous spark-streaming dstream

我正在编写一个用于数据摄取的程序。从Kafka读取到DStream,将Dstrem分为3个流,并在每个流上执行Actions:

val stream = createSparkStream(Globals.configs, ssc)
val s1 = stream.filter(<predicat1>)
val s2 = stream.filter(<predicat2>)
val s3 = stream.filter(<predicat3>)

//I'm looking for something like:
s1.forEachRddAsync(...
s2.forEachRddAsync(...
s3.forEachRddAsync(... 

如果有可能在整个DStream而非RDD上触发异步提交。

1 个答案:

答案 0 :(得分:0)

DStream操作方法虽然确实会阻塞,但不会处理数据。这些仅将DStream注册为输出流。

StreamingContext启动后,将根据可用资源安排处理,如果允许,则进行处理而不会互相限制。