前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spark2.x学习笔记:18、Spark Streaming程序解读

Spark2.x学习笔记:18、Spark Streaming程序解读

作者头像
程裕强
发布2018-01-02 16:52:29
9440
发布2018-01-02 16:52:29
举报

《Spark2.x学习笔记》

18、Spark Streaming程序解读

18.1 Spark Streaming原理

Spark Streaming将流式计算转化为一批批很小的、确定的批处理作业(micro-batch)。以数秒为单位将数据流切分成离散的作业。每批数据看做RDD,可以使用RDD相关操作进行处理。最后结果以RDD为单位返回(写入HDFS或其他系统)。

18.2 DStream

DStream是连续数据的离散化表示,DStream中每个离散片段都是一个RDD,DStream可以变换成另一个DStream。

18.3 Spark Streaming程序模版

编写Spark Streaming程序流程如下:

  1. 流式上下文
  2. 流式数据输入
  3. 流式转换
  4. 流式数据输出
  5. 启动流式处理

比如Spark Streaming的样例程序NetworkWordCount可以非常明显地看出上面流程结构。

代码语言:javascript
复制
  //1. 流式上下文
  val sparkConf = new SparkConf().setAppName("NetworkWordCount")
  val ssc = new StreamingContext(sparkConf, Seconds(1))

  //2.流式数据输入
  val lines = ssc.socketTextStream("localhost", 9999)

  //3.流式转换    
  val words = lines.flatMap(_.split(" "))
  val wordCounts = words.map(x => (x, 1)).reduceByKey(_ + _)

  //4.流式输出
  wordCounts.print()

  //5.启动流式处理
  ssc.start()
  ssc.awaitTermination()

18.4 流式数据输入

(1)内置数据源(StreamingContext)

  • socketStream/rawSocketStream/socketTextStream
  • fileStream/textFileStream
  • receiverStream

(2)外部数据源

  • KafkaUtils:createStream/createDirectStream
  • FlumeUtils:createStream

18.5 流式转换

(1)一般的转换

  • map/flatMap/filter/reduce
  • groupByKey/reduceByKey/sortByKey,join
  • count

(2)特有转换

  • transform
  • window
  • mapWithState
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-11-07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 《Spark2.x学习笔记》
  • 18、Spark Streaming程序解读
    • 18.1 Spark Streaming原理
      • 18.2 DStream
        • 18.3 Spark Streaming程序模版
          • 18.4 流式数据输入
            • 18.5 流式转换
            相关产品与服务
            流计算 Oceanus
            流计算 Oceanus 是大数据产品生态体系的实时化分析利器,是基于 Apache Flink 构建的企业级实时大数据分析平台,具备一站开发、无缝连接、亚秒延时、低廉成本、安全稳定等特点。流计算 Oceanus 以实现企业数据价值最大化为目标,加速企业实时化数字化的建设进程。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档