zoukankan      html  css  js  c++  java
  • spark_wordcount

    spark是基于scala写的,虽然spark有java API,或者python API,但是scala算是正统吧。

    而且scala的语法书写起来十分的爽,不想java那样笨重,python不太了解,不给予评价。

    接下来看下spark版的wordcount,相对与hadoop的mapreduce要简单许多。

    /**
      * Spark简单入门 worldCount
      */
    object SparkWC {
      def main(args: Array[String]): Unit = {
        // 创建spark的配置对象
        // setAppName()设置程序名字
        // setMaster() 设置为本地运行
        // local用一个线程模拟集群
        // local[2]用两个线程模拟集群
        // local[*]用所有的空闲线程模拟集群,,spark://spark101:7077
        val sparkConf = new SparkConf().setAppName("SparkWC").setMaster("local")
        // 根据conf创建SparkContext上下文,也就是程序执行入口
        val sc = new SparkContext(sparkConf)
        // 读文件
       // val files: RDD[String] = sc.textFile("D:\Demo\hadoop\input\word.txt")
        val files: RDD[String] = sc.textFile("D:\Demo\hadoop\input\word.txt")
        // 进行处理数据,进行单词统计,首先我们需要调用 flatMap算子,进行切分压平
        val lines: RDD[String] = files.flatMap(_.split(" "))
        // 调用map算子,进行单词的统计
        val worlds: RDD[(String, Int)] = lines.map((_,1))
        // 调用reduceByKey,按key对value聚合
        val re: RDD[(String, Int)] = worlds.reduceByKey(_ + _)
        // 将数据进行降序排序
        val sortWC: RDD[(String, Int)] = re.sortBy(_._2,false)
        // 打印数据
        println(sortWC.collect().toBuffer)
        // 数据存储到hdfs上
        sortWC.saveAsTextFile("D:\Demo\hadoop\ouput\out26")
    
      }
    }

    从代码中,可以看到spark的scala API的强大,希望对大家有用

  • 相关阅读:
    手脱ASPack2.12壳(练习)
    手脱UPX3.91壳(练习)
    如何在程序执行前插入可执行代码(算是吾爱的作业吧,活学活用)
    小米笔记本粉丝感恩狂欢趴【慎入!!】
    picpick截屏软件脱壳
    JAVA反序列化漏洞
    Java中的数据类型
    Java中常见的包
    Scrapy
    PHPstorm 函数时间注释的修改
  • 原文地址:https://www.cnblogs.com/dongxiucai/p/9911140.html
Copyright © 2011-2022 走看看