如何使用spark scala计算年份

How to get count of year using spark scala

我有以下电影数据,如下所示, 我应该统计每年的电影数量,例如 2002,2 and 2004,1

Littlefield, John (I)   x House 2002
Houdyshell, Jayne   demon State 2004
Houdyshell, Jayne   mall in Manhattan   2002

val data=sc.textFile("..line to file")
val dataSplit=data.map(line=>{var d=line.split("\t");(d(0),d(1),d(2))})

我无法理解的是,当我使用 dataSplit.take(2).foreach(println) 时,我看到 d(0) 是 Littlefield, John (I) 的前两列,即名字和姓氏d(1) 是电影名称,例如“x House”,d(2) 是年份。我怎样才能知道每年的电影数量?

以这种方式将 reduceByKey 与映射的元组一起使用。

val dataSplit = data
  .map(line => {var d = line.split("\t"); (d(2), 1)}) // (2002, 1)
  .reduceByKey((a, b) => a + b)

// .collect() gives the result: Array((2004,1), (2002,2))