Hadoop生态架构之Spark Streaming

本文详细介绍了Spark Streaming的定位、与Storm和Spark Core的区别,强调了时间窗口的概念,并探讨了Streaming的架构、容错机制以及解决数据挤压问题的策略。此外,还通过实例展示了Spark Streaming实现wordcount、对接HBase以及与Kafka的整合应用。
摘要由CSDN通过智能技术生成
1、Streaming定位

是Spark体系内的流式处理框架(和Storm对比)

2、和Storm对比

Storm:数据像水流一样,最基本的单位是tuple——毫秒级
Streaming:把水状的数据,按照时间进行离散化处理——秒级

3、和Spark Core对比

1.关系:
Spark Core是核心的计算引擎,支撑了很多项目,Streaming是其中一个
2.算子:
Core中,算子有两类:transformation和action ——> 懒惰机制
Streaming,算子有两类:transformation和output ——> 懒惰机制
3.开发形式:
Core:针对RDD开发,处理结构以DAG形式表现

Streaming:针对Dstream开发,处理结构以DstreamGraph形式表现

Dstream和RDD的关系:
1)Dstream:内部包含多个RDD,代表了一系列的连续的RDD,每一个RDD包含特定的时间间隔
2)DStream里面的各种操作是可以映射到内部的RDD上进行的
3)DStream的操作可以通过RDD的transformation生成新的Dstream
4)DStream的算子和RDD的算子不一样:
1)transformation
2)output:
执行算子:forEachRDD:对接外部服务:Hbase、Kafka、Hive
输出算子:saveAsTextFile:直接做输出

5、时间窗口

例如:统计最近一个小时内的PV量,要求每一分钟更新一次
1)窗口总长度(window length)—— 一个小时
2)滑动时间间隔(slide interval)—— 一分钟

6、Streaming架构:

master:分配任务:任务结构(Graph)
worker:处理任务,包含:接收数据+处理数据
client:喂数据
处理数据模式,2类:
1)recevier模式:被动——异步
优点:快
缺点:启动多executor
2)direct模式:主动——同步
优点:一个executor占用资源少
缺点:慢
架构图:

D-Stream lineage:DstreamGraph图
worker:Input receiver:对接client作数据接收
worker: Task excution:对数据做进一步计算
worker: Block manager、Comm Manager:数据管理模块

7、容错——数据容错WAL

streaming中wal工作原理:

当Driver失败重启后,恢复的流程:

8、streaming+kafka数据挤压
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

曾牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值