【问题标题】:Reduce in scala (not Spark)减少scala(不是Spark)
【发布时间】:2019-07-26 08:27:23
【问题描述】:

我有这些数据:

(15,ArrayBuffer((1038,1)))
(14,ArrayBuffer((1031,1), (1003,1)))
(110,ArrayBuffer((1035,1))

所以 Group 和 Map 已经被执行了。 现在我必须做一个减少步骤, 我想要的结果是:

(15,1)
(14,2)
(110,1)

一个简单的计数map-reduce。 但我不能写一个减少步骤(我必须在数组缓冲区中写任何 1 项 -dummy- 的总和)

【问题讨论】:

  • 这与简单的地图有什么不同? data.map { case (x, y) => (x, y.length) }
  • 无效,y.lenght 无法识别

标签: scala mapreduce sbt


【解决方案1】:

您好,您可以使用地图和 ArrayBuffer 的大小

import scala.collection.mutable._ 

Seq((15,ArrayBuffer((1038,1)))
     ,(14,ArrayBuffer((1031,1),(1003,1)))
     ,(110,ArrayBuffer((1035,1))))
  .map { case (x,y) => (x,y.size) }

res2: scala.collection.mutable.Seq[(Int, Int)] = ArrayBuffer((15,1), (14,2), (110,1))

【讨论】:

    猜你喜欢
    • 2016-12-05
    • 2021-12-02
    • 2018-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多