基于Spark的机器学习资料31、Spark编程模型RDD设计以及运行原理.pdf
-
资源ID:73125644
资源大小:198.17KB
- 资源格式: PDF
下载积分:11.9金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
基于Spark的机器学习资料31、Spark编程模型RDD设计以及运行原理.pdf
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 程序的性能。