spark系列博客-(2)spark基础(重要)

1.核心概念(非常重要)

RDD:弹性的分布式数据集,是spark的设计核心,是一个高层的抽象

Operation:作用于RDD的各种操作,spark中的操作分为transformationsactions

Job:作业,一个job含有多个RDD和作用于RDD上的多种operation

Stage:一个job分为多个阶段

Partition:数据分区,一个RDD中的数据可分为多个不同的区

DAG:有向无环图,用来反应RDD之间的依赖关系

Narrow dependency:窄依赖,子RDD依赖于父RDD中固定的分区

Wide dependency:宽依赖,子RDD依赖于父RDD中所有的分区

Caching Management:缓存管理,spark中设计的一大亮点,可对RDD的中间计算结果进行缓存管理来加快整体的处理速度以提高性能

2.Spark中的编程模型

RDD是数据集,经transformations处理之后,数据集中的内容发生改变,数据集a转换成b,经action处理后,数据集中的内容会被规约为一个具体的数值。(只有当RDD上有action操作时,该RDD及父RDD上所有的操作才会被提交到cluster上去真正的执行)

3.Sparkaplication的部署

Spark支持的3种部署模式:standaloneMesosyarn

说明:

1)当有action操作作用于RDD上,该action就会作为一个job被提交。在提交的过程中,DAGScheduler模块加入计算,来计算RDD之间的依赖关系,这种依赖关系就构成了DAG

2)每一个job被分为多个stage(阶段),划分stage的一个依据是当前计算因子的输入是否是确定的,若是则分在同一个stage,反之分在不同的stage上,从而避免多个stage之间的消息传递的开销。

3)当stage被提交后,由taskScheduler来根据stage计算所需要的task,然后把task提交到对应的worker

4.RDD接口(spark核心高层抽象)

RDD的组成:

(1)partitionspartition的集合,一个RDD包含多个partition

(2)DependenciesRDD依赖关系

(3)Compute:对于不同的数据集,需要做何种计算

(4)preferredLocations:对于data partition的位置偏好

(5)Partitioner:对于计算出来的数据结果如何的分发

5.缓存机制-caching(spark设计亮点)

RDD的所有中间数据都可被缓存,缓存位置会优先选择memory,若memory不足,就会写到磁盘中

6.容错性

为了解决从最初的RDD到衍生的最后一个RDD的过程中可能发生错误处理,因此,spark的解决方案是:只对失效的data partition进行事件回调,而不是整个数据集,这会大大加快恢复

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值