您的位置:首页 > 大数据

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

2016-05-21 14:46 281 查看
概述

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还要提供自己框架的容错功能)。

·       事务处理,数据一定会被处理,并且只会被处理一次。也就是说每次处理数据的时候,要知道数据的边界;特别是处理过程中出现问题的情况下。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: