Если я правильно понимаю, вы хотите, чтобы все записи в СДР имели одинаковое значение , причем это значение является массивом результатов побитовой операции ИЛИ для каждого индекса массивов.
В этом случае вы можете начать с действия reduce
для вычисления этого единственного значения, а затем сопоставить исходный СДР с новым значением с этим новым значением для всех записей:
val newVal = rdd.values.reduce((a1, a2) => a1.zip(a2).map { case (b1, b2) => b1 | b2 })
val result = rdd.mapValues(_ => newVal)
result.mapValues(_.toList).foreach(println)
// prints:
// (1,List(true, true, true))
// (2,List(true, true, true))
Обратите внимание, что это решение игнорирует крайние случаи, такие как пустой ввод или неравные размеры массива.