scala的distinct函数怎么用?

勇敢的少年
  • 1k

我这样写:

val validRDD = unionRDD.map(item => {
          val arr = item.split(' ')
          ((arr(1), arr(2)), arr(3).toDouble)
        })
        .distinct()

unionRDD中是用空格隔开的数据
先转成一个二元tuple
但是distinct似乎不能对元组去重

结果还是有重复的,如下:(这是打印的validRDD)

如何解决?

回复
阅读 1.3k
1 个回答

你看看呢:

val unionRDD = Array(" 1 1 3.0"," 1 1 3.0"," 1 1 3.0");
val validRDD = unionRDD.map(item => {
  val arr = item.split(' ')
  ((arr(1), arr(2)), arr(3).toDouble)
}).distinct
println(validRDD.toList);

image.png
希望能帮助到你。

宣传栏