我需要一個關於RDD的函數,比方說'isAllMatched',它將謂詞作爲參數來匹配。但是,我不想掃描所有元素,如果謂詞失敗的任何元素,它應該返回false。我也希望這個功能在所有工作節點上並行執行。這裏是僞代碼:需要火花中的特定函數來檢查所有元素是否與給定的謂詞匹配?
def isAllMatched[T : ClassTag](rdd: RDD[T])(pred: T => Boolean) = {
foreach(ele <- rdd.elements) {
if(!pred(ele)) return false;
}
return true;
}
這在Spark中可能嗎?有沒有內置的功能來做到這一點?
是的,但這會掃描所有元素。我想在謂詞失敗時立即中斷執行。 – aks