1.概念
RDD是弹性分布式数据集,是spark最基本的数据抽象,代表一个不可变、可分区、里面的元素可并行计算的集合。
2.作用
提供了一个抽象的数据模型,将具体的应用逻辑表达为一系列操作(函数)。另外不同RDD之间的转换操作之间还可以形成依赖关系,进而实现管道化,从而避免了中间结果的存储,大大降低了数据复制、磁盘IO和序列化开销,并且提供了更多的API(map/reduce/filter/groupBy…)
RDD在Lineage依赖方面分为两种Narrow Dependencies与Wide Dependencies用来解决数据容错时的高效性以及划分任务时候起到重要作用。
RDD只支持粗粒度转换,即在大量记录上执行的单个操作。将创建RDD的一系列Lineage记录下来,以便恢复丢失的分区。RDD的Lineage会记录RDD的元数据信息和转换行为,当该RDD的部分分区数据丢失时,它可以根据这些信息来重新计算和恢复丢失的数据分区。
16-如何理解spark的血统(RDD)概念
于 2022-06-13 21:39:11 首次发布