• 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

  • 相关阅读:
    cat more less 命令
    nano 命令 linux
    关于socket的知识总结
    linux进程的挂起和恢复
    find & grep 命令 in linux(转)
    ssh 免密登录
    ssh远程服务器
    c# 可以设置透明度的 Panel 组件
    Qt编写地图综合应用14-离线地图下载
    Qt编写地图综合应用13-获取边界点
  • 原文地址:https://www.cnblogs.com/liuge36/p/10443958.html
Copyright © 2020-2023  润新知