我有一个RDD[Try[(A, B)]]
。我必须使用函数f: B => List[C]
来转换此RDD
。我想获得的是一个RDD[Try[(A, B, C)]
,其中我必须flatMap
从函数f
的应用程序获得的列表。在Spark过程中尝试使用列表元素的RDD的解释
我tryed这一点:
val tryRdd = // Obtain the RDD[Try[(A, B)]]
val transformedRdd =
tryRdd.map {
pair =>
for {
(a, b) <- pair
c <- f(b)
} yield {
(a, b, c)
}
}
不幸的是我所获得是一个RDD[Try[Nothing]]
。为什么?任何人都可以帮助我了解我错在哪里吗?
我想这个问题与RDD
没有什么关系。 Probabily RDD
与List
将以相同的结果结束。
是的,我正在使用IntelliJ。我将尝试构建我的代码,然后我会让你知道。 –