Open Xuanmin-W opened 6 years ago
RDD: Resilient Distributed Datasets 作者:实验楼在线教育 链接:https://zhuanlan.zhihu.com/p/28450736 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
弹性分布式数据集(RDD)是 Spark 框架中的核心概念。可以将 RDD 视作数据库中的一张表。其中可以保存任何类型的数据。Spark 将数据存储在不同分区上的 RDD 之中。RDD 可以帮助重新安排计算并优化数据处理过程。此外,它还具有容错性,因为RDD知道如何重新创建和重新计算数据集。RDD 是不可变的。你可以用变换(Transformation)修改 RDD,但是这个变换所返回的是一个全新的RDD,而原有的 RDD 仍然保持不变。
RDD 支持两种类型的操作:变换(Transformation)变换的返回值是一个新的 RDD 集合,而不是单个值。调用一个变换方法,不会有任何求值计算,它只获取一个 RDD 作为参数,然后返回一个新的 RDD。 变换函数包括:map,filter,flatMap,groupByKey,reduceByKey,aggregateByKey,pipe和coalesce。
行动(Action)行动操作计算并返回一个新的值。当在一个 RDD 对象上调用行动函数时,会在这一时刻计算全部的数据处理查询并返回结果值。 行动操作包括:reduce,collect,count,first,take,countByKey 以及 foreach。
部分spark学习笔记