1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| 一个抽象弹性分布式数据集 可以将RDD理解为一个分布式对象集合,本质上是一个只读的分区记录集合 每个RDD可以分成多个分区,每个分区就是一个数据集片段 一个RDD的不同分区可以保存到集群中的不同结点上,从而可以在集群中的不同节点上进行并行计算
# 五大特性 1.分区列表 RDD是一个由多个partition(某个节点里的某一片连续的数据)组成的的List 将数据加载为RDD时,一般一个hdfs里的block会加载为一个partition 2.每一个分区都有一个计算函数 RDD的每个partition上面都会有function,也就是函数应用,其作用是实现RDD之间partition的转换 3.依赖于其他RDD列表 RDD会记录它的依赖,为了容错,也就是说在内存中的RDD操作时出错或丢失会进行重算 4.Key-Value数据类型的RDD分区器 可选项,如果RDD里面存的数据是key-value形式,则可以传递一个自定义的Partitioner进行重新分区 例如这里自定义的Partitioner是基于key进行分区,那则会将不同RDD里面的相同key的数据放到同一个partition里面 5.每个分区都有一个优先位置列表 可选项,最优的位置去计算,也就是数据的本地性
|