我有一个带有以下结构的spark spark程序,它在yarn-client模式下部署了4个执行程序。
ListStream.foreachRDD(listJavaRDD -> {
listJavaRDD.foreachPartition(tuple2Iterator -> {
while (tuple2Iterator.hasNext()) {
//Program logic
}
//Program logic
}
//Program logic
return null;
});
在某些随机点,即使程序逻辑在执行程序中完全执行,某些任务也不会从执行程序返回到spark驱动程序。 (我已通过检查执行程序日志验证了这一点)。一旦我杀死了特定的工作,蒸汽工作继续没有任何问题。
该问题也与记录大小或记录性质有关。
我无法重现此特定问题以确定根本原因。我想听听是否有人遇到过类似问题或任何可能的原因。