Возврат нескольких RDD в простой операции с картой - PullRequest
0 голосов
/ 07 мая 2018

Я сейчас делаю некоторые операции с использованием GraphX ​​и хочу что-то вроде этого

val ans = graph.triplets.map(
    e => {
        if (conditon1){
            return ans_1 to RDD_1
        }
        else (condition2){
            return ans_2 to RDD_2
        }
    }
)

Я знаю, что могу использовать двойные прогоны graph.triplets.map, чтобы вернуть 2 разных СДР, как это

val RDD_1 = graph.triplets.map(
    e => {
        if (conditon1){
            return ans_1
        }
    })
val RDD_2 = graph.triplets.map(
    e => {
        if (condition2){
            return ans_2
        }
    })

Однако для повышения эффективности я хочу сделать это за один проход, как я изобразил выше. Как мне этого добиться?

...