倒排索引蛮简单的,我们一般是一篇文档中出现了哪些词,倒排索引就是统计出每个词在哪些文档中出现过:
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}")
}
}
}