1. 程式人生 > >spark:倒排索引

spark:倒排索引

倒排索引蠻簡單的,我們一般是一篇文件中出現了哪些詞,倒排索引就是統計出每個詞在哪些文件中出現過:

import org.apache.spark.{SparkConf, SparkContext}

/**
  * Created by fhqplzj on 16-7-24 at 下午4:22.
  */
object InvertedIndex {
  def main(args: Array[String]): Unit = {
    val conf = new SparkConf().setMaster("local[*]").setAppName("InvertedIndex")
    val sc = new SparkContext(conf)
    sc.textFile("/home/fhqplzj/temp/BeHappy/module1/src/main/scala/app2/input.txt").flatMap {
      line =>
        val arr = line.split("\\s+")
        val map = arr.tail.map((_, arr.head))
        map
    }.groupByKey().foreach {
      case (key, values) =>
        val st = values.mkString("\t")
        println(s"${key}:${st}")
    }
  }
}