Ich brauche eine Funktion auf RDD, sagen wir "isAllMatched", die ein Prädikat als ein passendes Argument nehmen wird. Allerdings, Ich möchte nicht alle Elemente überprüfen, wenn Prädikat für ein Element fehlschlägt, sollte es false zurückgeben. Ich möchte auch, dass diese Funktion parallel auf allen Arbeiterknoten ausgeführt wird. Hier ist der Pseudocode:Benötigen Sie eine spezielle Funktion in Spark, die prüft, ob alle Elemente mit dem gegebenen Prädikat übereinstimmen oder nicht?
def isAllMatched[T : ClassTag](rdd: RDD[T])(pred: T => Boolean) = {
foreach(ele <- rdd.elements) {
if(!pred(ele)) return false;
}
return true;
}
Ist dies in Spark möglich? Gibt es eine eingebaute Funktion, um das zu tun?
Ja, aber dies wird alle Elemente scannen. Ich möchte die Ausführung unterbrechen, sobald das Prädikat fehlschlägt. – aks