计算apache spark中每个单词的出现次数

时间:2014-11-05 12:05:46

标签: scala apache-spark

  val sc = new SparkContext("local[4]", "wc")

  val lines: RDD[String] = sc.textFile("/tmp/inputs/*")
  val errors = lines.filter(line => line.contains("ERROR"))

  // Count all the errors
  println(errors.count())

上面的代码段将计算包含ERROR一词的行数。是否有一个类似于“contains”的简化函数,它会返回单词的出现次数?

说这个文件是用Gigs的,我想用火花簇来平衡工作量。

1 个答案:

答案 0 :(得分:1)

只计算每行的实例并将它们加在一起:

val errorCount = lines.map{line => line.split("[\\p{Punct}\\p{Space}]").filter(_ == "ERROR").size}.reduce(_ + _)