我要加入两个RDD-salesfromSource1: RDD[(String, List[Sale])]
和filteredSales: RDD[(String, Sale)]
由于我要执行左联接,因此我尝试了以下操作:
val joinedSales: RDD[(String, (List[Sale], Option[Sale]))] = salesfromSource1.leftOuterJoin(filteredSales)
但是如何连接这些值,以便得到RDD[(String, List[InvocaCall])]
?
我期望通过.mapValues(_._1 ::: _._2)
但是我得到的类型不匹配的编译器突出显示(expected (List[Sale], Option[Sale]) => NotinferedU, actual: (Any, Any) => Any)
答案 0 :(得分:0)
例如这样的例子:
.mapValues {
case (x, None) => x
case (x, Some(y)) => x :: y
}
或
.mapValues { x =>
x._2.map(y => x._1 :: y).getOrElse(x._1)
}