【发布时间】:2020-08-22 21:14:06
【问题描述】:
在下面给定的代码片段中,我通过并行化 List(1,2,3,4) 来声明和 rdd,我想要做的是将 List(1,2,3,4) 附加到上面的每个元素rdd。我是通过使用嵌套的 flatMap 函数来实现的,因为它可以为 RDD 的每个元素返回多个值。代码如下
val rand6=sc.parallelize(List(1,2,3,4))
val bv=sc.broadcast(List(5,6,7,8))
rand6.flatMap(s=>{
val c=List(1,2,3,4)
val a=List(s,c)
val b=a.flatMap(r=>r)
b
})
但我收到以下错误
command-1095314872161512:74: error: type mismatch;
found : Any
required: scala.collection.GenTraversableOnce[?]
val b=a.flatMap(r=>r)
^
是语法的问题,或者我们不应该以这种方式使用 flatMaps
如果有人能帮助我理解这一点,那将非常有帮助
【问题讨论】:
-
正在寻找什么输出?
-
能否请您回答或解释一下为什么它不起作用?
标签: scala apache-spark flatmap