- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
八 核心概念 Stage:一个Spark作业一般包含一到多个Stage。 Task:一个Stage包含一到多个Task,通过多个Task实现并行运行的功能。 DAGScheduler: 实现将Spark作业分解成一到多个Stage,每个Stage根据RDD的Partition个数决定Task的个数,然后生成相应的Task set放到TaskScheduler中。 TaskScheduler:实现Task分配到Executor上执行。 八 常见术语 Application:Spark的应用程序,包含一个Driver program和若干个Executor。 SparkContext:Spark应用程序的入口,负责调度各个运算资源,协调各个Worker Node上的Executor Driver program:运行Application的main()函数并且创建SparkContext Executor:是Application运行在Work node上的一个进程,该进场负责运行Task,并且负责将数据存在内存或者磁盘上;每个Application都会申请各自的Executors来处理认为 Cluster Manager :在集群上获取资源的外部服务(例如:Standalone、Mesos、Yarn) Work Node:集群中任何可以运行Application代码的节点,运行一个或者多个Executor进程 八 常见术语 Task:运行在Executor上的工作单元 Job:SparkContext提交的具体Action操作,常和Action对应 Stage:每个Job会被拆分很多组任务(task),每组任务被称为Stage,也称TaskSet RDD:Resilient Distributed Datasets的简称,弹性分布式数据集,是Spark最核心的模块和类 DAGScheduler :根据Job构建基于Stage的DAG(Directed Acyclic Graph,有向无环图),并提交Stage给TaskSchedule TaskSchedule:将TaskSet提交给Worker node集群运行并返回结果 Transformation/Action:Spark API的两种类型;Transformation返回值还是一个RDD,Action返回值不少一个RDD,而是一个Scala的集合;所有的Transformation都是采用的懒策略,如果只是将Transformation提交是不会执行计算的,计算只有在Action被提交时才会被触发。 八 执行流程 执行流程描述: 九 Spark Streaming Spark Streaming是将流式计算分解成一系列短小的批处理作业。这里的批处理引擎是Spark,也就是把Spark Streaming的输入数据按照batch size(如1秒)分成一段一段的数据(Discretized Stream),每一段数据都转换成Spark中的RDD(Resilient Distributed Dataset),然后将Spark Streaming中对DStream的Transformation操作变为针对Spark中对RDD的Transformation操作,将RDD经过操作变成中间结果保存在内存中。整个流式计算根据业务的需求可以对中间的结果进行叠加,或者存储到外部设备。 九 Spark Streaming 架构图: 九 Spark Streaming Spark Streaming 特点: 容错性:每一个RDD都是一个不可变的分布式可重算的数据集,其记录着确定性的操作继承关系(lineage),所以只要输入数据是可容错的,那么任意一个RDD的分区(Partition)出错或不可用,都是可以利用原始输入数据通过转换操作而重新算出的。 实时性: Spark Streaming将流式计算分解成多个Spark Job,对于每一段数据的处理都会经过Spark DAG图分解,以及Spark的任务集的调度过程。对于目前版本的Spark Streaming而言,其最小的Batch Size的选取在0.5~2秒钟之间(Storm目前最小的延迟是100ms左右),所以Spark Streaming能够满足除对实时性要求非常高(如高频实时交易)之外的所有流式准实时计算场景。 扩展性与吞吐量: Spark Streaming可以通过增加集群数目来直线扩展,其处理性能也会相应的直线提升。 十 总结 Spark为构建低延迟,大规模并行处理的大数据分析应用提供了强大的处理框架。它支持围绕RDD抽象的API,同时包括一套TRANSFORMATIO
原创力文档


文档评论(0)