Spark流媒体比较两个批次和过滤数据



我想使用火花流比较两个批次和过滤数据

每5s一批,

第一批:

key     type
aaa     0
aaa     1
bbb     0
ccc     0

第二批:

key     type
aaa     1
bbb     1
ddd     0

当火花流载入第二批次时,与第一批次进行比较,然后过滤结果:

key     type
ccc     0

两个相邻批处理,最后一批的数据(类型为0(必须在上一批中(类型为1(,而当前批次必须为:

key     type
aaa     0
aaa     1

然后第三批:

key     type
ddd     1
eee     0

过滤器结果为null

如何使用火花流进行此操作?

谢谢

最后,我使用变量保存批处理数据,例如:

val preData = new java.util.ArrayList[String]
val currentData = new java.util.ArrayList[String]
def foreachRddFunc = (rdd:Rdd[String]) => {
rdd.collect().forecah(x => {
... ...
currentData.add(x)
... ...
})
//preData compare current data
... ... 
preData.addAll(currentData)
currentData.clear
}

做这个操作必须在驾驶员上。

最新更新