倒排索引(scala版)

元数据:
这里写图片描述

结果数据:
这里写图片描述

贴出自己的代码:

object DaoPai2{
  def main(args: Array[String]): Unit = {
    //在spark本地单节点运行配置
    val conf =new  SparkConf()
    conf.setAppName("DaoPai").setMaster("local")
    val sc = new SparkContext(conf)
    //wholeTextFile返回值是一个元组,第一个值是文件名,一个二个值是文件的内容
    val file = sc.wholeTextFiles("D:\\decstop\\sparkTest\\daopai")
    //将文章分割成(filename,(wordsArray))
    val fileTu = file.map(file =>(file._1,file._2.split(System.getProperty("line.separator")).flatMap(line=>line.split(" "))))
    //然后去重,然后转变成(word,fileName)
    val wordAndFileName = fileTu.flatMap(a=>a._2.distinct.map(word=>(word,a._1)) )
    //合并相同的word
    val result = wordAndFileName.reduceByKey(_+" "+_)
    //保存结果
    result.saveAsTextFile("D:\\decstop\\sparkTest\\result\\res4")
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值