[英]Nesting of RDD's in Scala Spark
引用這個問題: 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上發生了嵌套動作?
在鏈接的問題中, d.filter(...)
返回一個RDD,所以類型為
d.distinct().map(x => d.filter(_.equals(x)))
是RDD[RDD[String]]
。 這是不允許的,但在您的代碼中不會發生。 如果我理解答案是正確的,即使你最終沒有得到RDD[RDD[SomeType]]
,也不能在map
內部引用d
或其他RDD[RDD[SomeType]]
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.