这里要说清楚我正在做什么。
@Override
public JavaRDD<Object> call(JavaPairRDD<Object, Iterable<JSONObject>> aggregatedRDD) throws Exception {
try {
...
Logic
...
} catch (Exception e) {
...
Invalidate or remove RDD from dStream
...
}
}
我正在尝试
我想处理失败场景的异常,然后从Dstream中删除RDD,以便它不会移动到DAG的下一个节点进行处理。此外,知道如何从dStream中删除RDD在其他场景中可能很方便(我可能想要将RDD转换为空)。 我是Spark的新手。
答案 0 :(得分:1)
在异常情况下返回空RDD就足够了。
return sc.emptyRDD()