Spark编程模型RDD设计以及运行原理
来源:互联网 发布:山东广电网络客服电话 编辑:程序博客网 时间:2024/06/06 20:00
**
Spark编程模型RDD设计以及运行原理
**
一、 RDD介绍
RDD:弹性分布式数据集,是一个分区的只读记录的集合。也可以这样理解,是一个提供了许多操作接口的数据集合。它还包括容错、数据集内的数据可以并行处理等。
二、 RDD操作类型
RDD的操作类型分为两类,转换(transformations)和行动(action),转换是根据原有的RDD创建一个新的RDD,行动是对RDD操作后把结果返回给driver。
RDD的所有转换操作都是lazy模式,即Spark不会立刻结算结果,而只是简单的记住所有对数据集的转换操作。这些转换只有遇到action操作的时候才会开始计算。
三、 RDD依赖关系
RDD提供了许多转换操作,每个转换操作都会生成新的RDD,这时候新的RDD便依赖于原有的RDD,这种RDD之间的依赖关系最终形成DAG。
RDD之间的依赖关系分为两种,为窄依赖和宽依赖。
宽依赖:RDD的每个partition都依赖于父RDD的所有Partition。
窄依赖:只依赖一个或部分的Partition。
四、 RDD partitioner与并行度
每个RDD都有Partitioner属性,它决定了该RDD如何分区,当然Partition的个数还将决定每个Stage的Task个数。当前Spark需要应用设置Stage的并行Task个数(配置项为:spark.default.parallelism),在未设置的情况下,子RDD会根据父RDD的Partition决定,如map操作下子RDD的Partition与父Partition完全一致,Union操作时子RDD的Partition个数为父Partition个数之和。
如何设置spark.default.parallelism对用户是一个挑战,它会很大程度上决定Spark程序的性能。
- Spark编程模型RDD设计以及运行原理
- Spark--RDD编程模型
- Spark编程模型(RDD编程模型)
- Spark开发-spark运行原理和RDD
- 子雨大数据之Spark入门教程---Spark入门:RDD的设计与运行原理1.3
- Spark运行原理和RDD解密
- spark运行原理和RDD解密
- spark编程模型(二):RDD详解
- 【spark RDD】RDD编程
- spark学习四 RDD转换是什么以及任务的运行
- spark RDD的原理
- 3.Spark-RDD原理
- Spark的RDD原理以及2.0特性的介绍
- Spark的RDD原理以及2.0特性的介绍
- Spark的RDD原理以及2.0特性的介绍
- Spark RDD编程
- Spark RDD 编程实例
- Spark之RDD编程
- React 4 props & state
- 人机猜拳
- 产品用户体验的层次
- 学习LORA天线匹配
- (字典树)统计难题--HDOJ
- Spark编程模型RDD设计以及运行原理
- jdbc连接Oracle数据库
- oracle数据库根据列名查询出与这个列名相关的所有表
- WPF播放GIF
- 解决ajax请求下,后台sendRedirect页面跳转无效
- Django+Karlooper+iOS重构学校的学生成绩管理系统(一)系统重构
- Ubuntu下安装gitlab
- struts2标签<s:if>比较枚举类
- Revit开发中升级支持的程序版本造成的不识别引用的问题