scala的distinct函数怎么用?

勇敢的少年
  • 1k

我这样写:

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

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

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

如何解决?

回复
阅读 394
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
希望能帮助到你。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏