从Spark Scala中删除重复的键

use*_*660 1 scala apache-spark

我使用带有scala的spark 1.2并且有一对RDD with(String,String).示例记录如下所示:

<Key,  value>
id_1,  val_1_1; val_1_2
id_2,  val_2_1; val_2_2
id_3,  val_3_1; val_3_2
id_1,  val_4_1; val_4_2
Run Code Online (Sandbox Code Playgroud)

我只想删除所有带有重复键的记录,因此在上面的示例中,第四条记录将被删除,因为id_1是一个重复键.

请帮忙.

谢谢.

Jea*_*art 11

你可以使用reduceByKey:

val rdd: RDD[(K, V)] = // ...
val res: RDD[(K, V)] = rdd.reduceByKey((v1, v2) => v1)
Run Code Online (Sandbox Code Playgroud)