基于Spark的机器学习资料31、Spark编程模型RDD设计以及运行原理.pdf
《基于Spark的机器学习资料31、Spark编程模型RDD设计以及运行原理.pdf》由会员分享,可在线阅读,更多相关《基于Spark的机器学习资料31、Spark编程模型RDD设计以及运行原理.pdf(1页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Spark 编程模型 RDD 设计以及运行原理 一、RDD 介绍 RDD:弹性分布式数据集,是一个分区的只读记录的集合。也可以这样理解,是一个提供了许多操作接口的数据集合。它还包括容错、数据集内的数据可以并行处理等。二、RDD 操作类型 RDD 的操作类型分为两类,转换(transformations)和行动(action),转换是根据原有的 RDD 创建一个新的 RDD,行动是对 RDD 操作后把结果返回给 driver。RDD 的所有转换操作都是 lazy 模式,即 Spark 不会立刻结算结果,而只是简单的记住所有对数据集的转换操作。这些转换只有遇到 action 操作的时候才会开始计算
2、。三、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 程序的性能。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Spark 机器 学习 资料 31 编程 模型 RDD 设计 以及 运行 原理
限制150内