大数据系统-流计算Spark Streaming

    Spark Streaming是构建在Spark上的实时计算框架,扩展了Spark流式大数据处理能力。Spark Streaming将数据流以时间片为单位进行分割形成RDD,使用RDD操作处理每一块数据,每块数据(也就是RDD)都会生成一个Spark Job进行处理,最终以批处理的方式处理每个时间片的数据。

Spark Streaming架构

通过图3-11,读者可以对Spark Streaming的整体架构有宏观把握。

图3-11:Spark Streaming架构图

组件介绍:

q  Network InputTracker: 通过接收器接收流数据,并将流数据映射为输入DStream。

q  Job Scheduler:周期性地查询DStream图,通过输入的流数据生成Spark Job,将Spark Job提交给Job Manager进行执行。

q  JobManager:维护一个Job队列,将队列中的Job提交到Spark进行执行。

通过图3-11可以看到.D-Stream Lineage Graph进行整体的流数据的DAG图调度,Taskscheduler负责具体的任务分发,Block tracker进行块管理。在从节点,如果是通过网络输入的流数据会将数据存储两份进行容错。Input receiver源源不断的接收输入流,Task execution负责执行主节点分发的任务,Block manager负责块管理。Spark Streaming整体架构和Spark很相近,很多思想是可以迁移理解的。

Spark Streaming优势及特点

1)多范式数据分析管道:能和Spark生态系统其他组件融合,实现交互查询和机器学习等多范式组合处理。

2)扩展性:可以运行在100个节点以上的集群,延迟可以控制在秒级。

3)容错性:使用Spark的Lineage及内存维护两份数据进行备份达到容错。RDD通过Lineage记录下之前的操作,如果某节点在运行时故障,则可以通过冗余备份数据在其他节点重新计算得到。


友情推荐:ABC技术研习社

为技术人打造的专属A(AI),B(Big Data),C(Cloud)技术公众号和技术交流社群。



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值