zoukankan      html  css  js  c++  java
  • WordCount程序【Spark Streaming版本】

    ~~

    前置

    ~~
    Spark Streaming 常常对接 :本地文件、HDFS、端口、flume、kafka

    package february.streaming
    
    import org.apache.spark.SparkConf
    import org.apache.spark.streaming.{Seconds, StreamingContext}
    
    /**
      *              ====   Spark Streaming可以监听本地文件、HDFS、端口、flume、kafka  =====
      *
      *
      * Description:  使用Spark Streaming处理文件系统(local/hdfs)的数据
      * 通过 SparkStreaming 来实现WordCount
      * Spark Streaming
      *
      * 提交代码
      * spark-submit --master spark://spark001:7077 --deploy-mode client --class february.streaming.SparkStreamingWordCount /home/liuge36/jars/SparkDayDemo.jar
      *
      * @Author: 留歌36
      * @Date: 2019/2/21 17:27
      */
    object SparkStreamingWordCount {
      def main(args: Array[String]): Unit = {
        val sparkConf = new SparkConf()
          .setMaster("local[2]") //local[2] 或local也都可以
          .setAppName(this.getClass.getSimpleName)
    
        //拿到StreamingContext 这个上下文对象
        val ssc = new StreamingContext(sparkConf, Seconds(5))
    
        // 读取Windows 10电脑上的文件目录,没有成功,可能是因为moving的原因吧
    //    val input = ssc.textFileStream("file:///f:\tmp")
    
        // 读取centos local  从源码中也可以看出,需要移动文件到指定目录下,才能检测到
        val input = ssc.textFileStream("file:///home/liuge36/feb/")
    
        // 读取Linux服务器的文件目录
    //    val lines = ssc.textFileStream("file:///")
    
        val lines = input.flatMap(line => line.split(","))
    
        val count = lines.map(word => (word, 1)).reduceByKey{case (x, y)=> x+y }
    
        // 输出结果
        println("==================华丽分割线开始============================")
        count.print()
    
        //启动主程序,
        ssc.start()
        //阻塞 等待主程序被关闭
        ssc.awaitTermination()
      }
    
    }
    
    

    更多相关小demo:每天一个程序:https://blog.csdn.net/liuge36/column/info/34094

  • 相关阅读:
    ELK环境搭建
    django orm 操作表
    django1.11入门
    CentOS7 yum安装python3.6
    完美的【去重留一】SQL
    CentOS7安装docker
    【Jenskins】安装与配置
    【Linux】网卡配置与绑定
    【SaltStack】一些常用模块举例
    【SaltStack】通过Master给Minion安装MySQL
  • 原文地址:https://www.cnblogs.com/liuge36/p/12614762.html
Copyright © 2011-2022 走看看