【发布时间】:2020-03-07 13:07:51
【问题描述】:
我有 2 个 RDD。第一个RDD是原始RDD,第二个是我从原始RDD中过滤出来的RDD,并对其进行了一些处理。执行流程后,我想加入他们。原始 RDD 如下所示:
(1,5)
(2,60)
(3,7)
(4,1)
(5,1)
...
(10,8)
过滤和操作的RDD是:
(4,3)
(5,10)
(6,6)
(7,9)
我应该如何加入他们?当我使用 fullouterjoin 或其他连接方法时,它会出错
已编辑
我按照你说的写了这样的代码:
original_RDD=original_RDD.fullOuterJoin(new_RDD).foreach { case (joinKey, (oldOption, newOption)) =>
newOption match {
case None => (joinKey,oldOption)
case Some(newOption) => (joinKey,newOption)
}
}
但我收到此错误:
Error:(232, 55) type mismatch;
found : Unit
required: org.apache.spark.rdd.RDD[(Long, Int)]
nodes=nodes.fullOuterJoin(joined_new).foreach { case (joinKey, (oldOption, newOption)) =>
【问题讨论】:
标签: scala apache-spark