RDD

rdd:resiliient distributed datasets 弹性分布式数据集,不可变的、分区的

resiliient :顾名思义弹性,可以存在给定不用数目的分区、数据缓存的时候可以缓存一部分数据,也可以缓存全部数据

distributed:分区可以分布到不同的executor执行(executor也就是不用的work/nodemanager上)

datasets : 内部存储的数据

RDD五大特性:

     1:是多个分区的集合

     2:每一个分区上都应用一个函数进行计算

     3:一系列的依赖关系

     4:针key-value的RDD,我们可以指定分区函数(指定每个分区内存储哪个RDD,类似于map后,指定分区,reduce)

     5:数据本地化:处理RDD的每个分片,split数据在哪里,尽量在该机器上计算。(移动计算,而不是移动数据)

RDD构建原理:

1、rdd分区数量:InputFormate.getSplite方法返回的集合中的split数量,也就是block块的数量

2、rdd中不包含数据,只有数据的位置信息,执行需要的时候拉去过来使用

你可能感兴趣的:(RDD)