提到这个问题: Scala Spark 中的 NullPointerException,似乎是由集合类型引起的?
答案指出“Spark 不支持 RDD 的嵌套(请参阅https://stackoverflow.com/a/14130534/590203以了解另一个相同问题的出现),因此您无法对其他 RDD 内的 RDD 执行转换或操作操作。”
这段代码:
val x = sc.parallelize(List(1 , 2, 3))
def fun1(n : Int) = {
fun2(n)
}
def fun2(n: Int) = {
n + 1
}
x.map(v => fun1(v)).take(1)
印刷 :
Array[Int] = Array(2)
这是对的。
但这与“不能在其他 RDD 操作中对 RDD 执行转换或操作”不矛盾吗?因为在 RDD 上发生了嵌套操作?