gpt4 book ai didi

scala - 在 Scala Spark 中嵌套 RDD

转载 作者:行者123 更新时间:2023-12-01 09:13:24 34 4
gpt4 key购买 nike

提到这个问题:NullPointerException in Scala Spark, appears to be caused be collection type?

回答指出“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 上发生了嵌套操作?

最佳答案

没有。在链接的问题中,d.filter(...) 返回一个 RDD,所以

的类型
d.distinct().map(x => d.filter(_.equals(x)))

RDD[RDD[String]]。这是不允许的,但它不会在您的代码中发生。如果我理解正确的答案,即使您没有得到 RDD[RDD[SomeType,也不能在 map 中引用 d 或其他 RDD ]] 最后。

关于scala - 在 Scala Spark 中嵌套 RDD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23816496/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com