Scala wordcount

首页 » Spark » Scala wordcount
package wordcount
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
import org.apache.spark.rdd.RDD
object wordfcount {
  def main(args: Array[String]): Unit = {
    val conf = new SparkConf()
    conf.setMaster("local").setAppName("count")
    val sc=new SparkContext(conf)
    val lines:RDD[String]=sc.textFile("./words")
    val words:RDD[String]=lines.flatMap(line=>{
      line.split(" ")
    })
    val paireords:RDD[(String,Int)]=words.map(word=>{
      new Tuple2(word,1)
    })
    val reduce=paireords.reduceByKey((v1:Int,v2:Int)=>{v1+v2})
    val result=reduce.sortBy(tuple=>{
      tuple._2//按第二位进行降序排序
    },false)
    result.foreach(tuple=>{
     println(tuple)
    })
    sc.stop()
  }

}

算子

package wordcount
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
import org.apache.spark.rdd.RDD
object wordfcount {
  def main(args: Array[String]): Unit = {
    val conf = new SparkConf()
    conf.setMaster("local").setAppName("count")
    val sc=new SparkContext(conf)
    val lines:RDD[String]=sc.textFile("./words")
    //true 代表有无放回 放回
    val result=lines.sample(true, 0.1)
    result.foreach(println)
    println("**************************************")
    
    //过滤算子
    lines.filter(s=>{
      s.equals("hello zhazha")
    }).foreach(println);
    
    println("**************************************")
    
    //将worker端计算的结果回收到Driver端
    lines.collect().foreach(println)
    
    sc.stop()
  }

} 

分享到:
赞(0) 打赏

评论 7

评论前必须登录!

 

  1. #1

    奥利给

    小蚯蚓6个月前 (03-27)
  2. #2

    以后多多交流

    白云6个月前 (03-27)
  3. #3

    记住这个网站了

    小白6个月前 (03-27)
  4. #4

    我也是学计算机的

    靓妹6个月前 (03-28)
  5. #5

    看了那么多博客,就你的能看懂

    hello4个月前 (05-26)
  6. #6

    奥利给

    努力4个月前 (05-26)
  7. #7

    可以

    笔记本4个月前 (05-26)

觉得文章有用就打赏一下弟弟吧

支付宝扫一扫打赏

微信扫一扫打赏

Vieu4.5主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。
正在播放:

作者想对您说:

累了就停下来听首歌吧

听完后会给您一个好心情

最后

等到您不容易

还希望您能多待一会儿

      00:00/00:00