Spark streaming继续创建具有0个事件的批处理,并将它们排队以在下一个作业迭代中处理。但是,是否真的有必要对没有任何待处理的批处理进行排队,或者是否存在隐藏的内容?
答案 0 :(得分:3)
这是按预期工作的,因为即使没有数据,您的工作仍然可以产生输出(在过滤数据后也可能发生这种情况)。
例如,您可能会向数据库写一些记录,表明在给定的时间戳上没有可用的数据。
stream.foreachRDD { rdd =>
if (rdd.isEmpty) // write "empty" record to db
else // write data to db
}