Использует ли Spark внутренний оптимизатор данные, если операция не является действием? - PullRequest
0 голосов
/ 21 сентября 2019

Рассмотрим следующую логику, в которой мы разделяем RDD на 2 RDD и соединяем его вместе.

Делает ли разбиение myRdd оценкой 2 раза или 1 раз?

val myRdd = spark.sparkContext.textFile(myDirectory)
.map(line => myMapLogic(line))
.filter(line => myFilterLogic(line))
.flatMap(line => myFlatMapLogic(line))


val splitRdd1 = myRdd.filter(line => line._2)
val splitRdd2 = myRdd.filter(line => !line._2)

val mergeResult = splitRdd1.leftOuterJoin(splitRdd2)

Я знаю, что если я позвоню myRdd.count 2 раза, myRdd будет оцениваться дважды, но что, если действие вызывается один раз, но мне нужно разделить RDD на два и соединить его вместе?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...