一、深入理解RDD
1、薯片加工看RDD
经过发现可以发现:刚从地里挖出来的土豆,经过清洗后的干净土豆、生薯片、烤熟的薯片,流水线上这些食材的不同形态,就是Spark中RDD对于不同数据集合的抽象。
每一种食材依赖前一种食材就像是RDD中dependenceies属性记录的依赖关系,而不同环节的加工方法,对于的是RDD的compute属性。
每一颗土豆就是RDD中的数据分片,3颗土豆对应的就是RDD的partitions属性。
2、RDD的特征和属性
RDD有4大属性:partitions、partitioner、dependencies、compute属性。这些属性保证了RDD具有分布式和容错性两大突出的特性。
RDD的四大特性又可以划分为2类,横向属性和纵向属性。其中横向属性锚定数据分片实体,规定了数据分片在分布式集群中如何分部,包括:partitions和partitioner;纵向属性用于在纵深方向构建DAG,通过提供构建RDD的容错能力保障内存计算的稳定性。