加入两个RDD [String] -Spark Scala

时间:2016-05-11 16:55:09

标签: string scala join apache-spark rdd

我有两个RDDS:

rdd1 [String,String,String]: Name, Address, Zipcode
rdd2 [String,String,String]: Name, Address, Landmark 

我正在尝试使用以下功能加入这两个RDD:rdd1.join(rdd2)
但是我收到了一个错误:
error: value fullOuterJoin is not a member of org.apache.spark.rdd.RDD[String]

连接应该加入RDD [String],输出RDD应该是:

rddOutput : Name,Address,Zipcode,Landmark

我想最终将这些文件保存为JSON文件。

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:6)

如评论中所述,您必须在加入之前将RDD转换为PairRDD,这意味着每个RDD必须是esp8266类型。只有这样,您才能通过密钥执行连接。在您的情况下,密钥由(名称,地址)组成,因此您必须执行以下操作:

RDD[(key, value)]

有关Spark' s Scala API documentation

中的PairRDD功能的更多信息