大数据学习笔记(十三)-SparkStreaming

1.概念
数据处理的基本单位:离散流(discretized stream或DStream)
支持容错
支持状态处理
支持窗口操作
2.DStream的基本操作
转化操作
窗口操作
输出操作
3.DStream特有API
参考:http://spark.apache.org/docs/latest/api/scala/index.html#org.apache.spark.streaming.dstream.PairDStreamFunctions
http://spark.apache.org/docs/latest/api/scala/index.html#org.apache.spark.streaming.dstream.DStream
①updateStateByKey(func)维持每个键的状态
②countByWindow(windowLength,slideInterval)返回基于滑动窗口的DStream中的元素数量
③reduceByKeyAndWindow(func,windowLength,slideInterval,[num tasks])基于滑动窗口对(K,V)键值对类型的DStream中的值按K使用聚合函数func进行聚合操作,得到新的DStream
④countByValueAndWindow(func,windowLength,slideInterval,[num tasks])基于滑动窗口计算源DStream中每个RDD内每个RDD每个元素出现的频次
4.SparkSteaming示例代码运行
代码保存位置:https://github.com/langyw98/SparkStreamingExample-NetworkWordCount
运行测试方法:
①打开9999端口的监听

nc -l -v 9999

提交编译好的作业

spark-submit --class NetworkWordCount --master local[*] ~/lib/networkwordcountexample_2.10-1.0.jar localhost 9999

5.SparkStreaming对比于离线计算的差别在于数据的来源,SparkStreaming提供了一系列数据的数据流结构,当完成数据读入后,数据的处理方法和Spark的离线计算无差别。
6.带状态的和无状态的流处理
7.带状态的流式操作-检查点-是一个目录名称

ssc.checkPoint(".")

参考代码:example/streaming下的StatefulNetworkWordCount.scala
8.窗口操作的概念
①批处理处理间隔,原始DStream处理间隔
②窗口,包括的DStream的个数就是窗口的长度
窗口必须是原始批处理的整数倍
③窗口解决了1~3,3~5,5~7这种有重叠的处理场景
④窗口的滑动时间间隔,前一个窗口到后一个窗口的时间间隔

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值