DT大数据梦工厂Spark 定制班笔记(002)

概述

Spark Streaming是Spark的一个子框架,但我们也可以把它看作是一个Spark Core应用程序。

SparkStreaming在启动时运行了几个job,并且job之间相互配合。

Spark core上面有4个流行的框架:SparkSQL、SparkSreaming、MLlib、GraphX;SparkSreaming是第一个出现的框架。

除了流计算,其他的框架大多都是在SparkCore上对一些算法或者接口进行了高层的封装;例如SparkSQL 封装了SQL语法,主要功能就是将SQL语法解析成SparkCore的底层API。而机器学习则是封装了很多的数学向量及算法。GraphX目前则没有太大的更新。


从图中可以看出DStreamGraph是RDD Graph的模板。


时空理解



SparkStreaming需要提供如下的功能:

·       逻辑管理: DStreamGraph, 它是RDD DAG的模板

·       时间管理:需要基于时间的job控制器

·       输入和输出:需要InputStream和OutputStream代表数据的输入和输出

·       容错:将具体的job提交到Spark Cluster上,因为SparkStreaming是不断的在运行job,更容易出现问题,所以容错就至关重要(单个job的容错是基于Spark core的,SparkStreaming还要提供自己框架的容错功能)。

·       事务处理,数据一定会被处理,并且只会被处理一次。也就是说每次处理数据的时候,要知道数据的边界;特别是处理过程中出现问题的情况下。



发布了12 篇原创文章 · 获赞 0 · 访问量 3051
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览