NetworkWordCount 例子工作流程详解

来源:互联网 发布:定车票的软件 编辑:程序博客网 时间:2024/06/01 08:10
object NetworkWordCount {  def main(args: Array[String]) {    if (args.length < 2) {      System.err.println("Usage: NetworkWordCount <hostname> <port>")      System.exit(1)    }    StreamingExamples.setStreamingLogLevels()    // Create the context with a 1 second batch size    val sparkConf = new SparkConf().setAppName("NetworkWordCount")    val ssc = new StreamingContext(sparkConf, Seconds(1))    // Create a socket stream on target ip:port and count the    // words in input stream of \n delimited text (eg. generated by 'nc')    // Note that no duplication in storage level only for running locally.    // Replication necessary in distributed scenario for fault tolerance.    val lines = ssc.socketTextStream(args(0), args(1).toInt, StorageLevel.MEMORY_AND_DISK_SER)    val words = lines.flatMap(_.split(" "))    val wordCounts = words.map(x => (x, 1)).reduceByKey(_ + _)    wordCounts.print()    ssc.start()    ssc.awaitTermination()  }}
  1. ssc.socketTextStream(),读取数据到lines中,StreamingContext.scala中这里写图片描述
  2. lines.flatMap(_.split(” “))将每一行中的单词按照空格分开成一个一个的独立单词在words里面,Dstream.scala中:flatMap产生的是FlatMappedDStream
    这里写图片描述
  3. words.map(x => (x, 1))将每个单词映射成(key,value)格式,前面是单词后面是1 代表该单词出现一次,Dstream.scala中:Map产生的是MappedDStream
    这里写图片描述
  4. 接着是reduceByKey(+),该方法通过操作map()生成的(key,value)按key统计实现了相同key的value累加,PairDStreamFunctions.scala中reduceByKey产生的是shuffledDStream
    这里写图片描述
  5. wordCounts.print(),Dstream.scala中:
    这里写图片描述在这里面调用了foreachRDD,foreachRDD返回类型是Unit,但是里面生成一个ForEachDStream是一个输出型的RDD,会注册给DstreamGraph, DstreamGraph .scala中的outputStreams
    ForEachDStream.scala中:
    这里写图片描述

这里写图片描述-

-注册的代码
这里写图片描述
DstreamGraph .scala中outputStreams变量
这里写图片描述,,,
6. 既然有outputStreams那么就有inputstreams通过回溯可以找到是什么时候放到DstreamGraph 中的
这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 婴儿被黄蜂蛰了怎么办 蜜蜂在石头缝里怎么办 中蜂蜂王不产卵怎么办 冲电器充电变慢怎么办 摇号审核通过后怎么办 京东白条开不了怎么办 得了病心里压力大怎么办 电视家看直播卡怎么办 日上提货单丢了怎么办 想直飞香港l签怎么办 u盘识别不出来怎么办 卫生间下水道有小飞虫怎么办 橙光一直闪退怎么办 若白回来了,长安怎么办 没了你以后我该怎么办 玩cf的时候闪退怎么办 婴儿嗓子哭哑了怎么办 宝宝嗓子哭哑了怎么办 小孩嗓子哭哑了怎么办 孩子嗓子哭哑了怎么办 月经来了晚上漏怎么办 在学校月经漏了怎么办 月经来了血下不来怎么办 想让月经快点来怎么办 孩子来月经不规律怎么办 一个月来2次月经怎么办 14岁月经不规律怎么办 不是经期内裤有黑色血怎么办 月经量多血块多怎么办 网友见面没上她怎么办 拔完智齿老流血怎么办 学车教练不教怎么办 想开奶茶店没有经验怎么办 宝宝吃多了不消化怎么办 吃了糖精和鸡蛋怎么办 小米平板2太卡了怎么办 小米平板2卡顿怎么办 小米4黑屏没反应怎么办 小米5c开不了机怎么办 小平板开不了机怎么办 小米4白屏了怎么办