RDD的五大特性(明确知道)
五大特性:
1- (必须的)可分区的: 每一个分区对应就是一个Task线程 2- (必须的)计算函数(对每个分区进行计算操作) 3- (必须的)存在依赖关系 4- (可选的)对于key-value数据存在分区计算函数 5- (可选的)移动数据不如移动计算(将计算程序运行在离数据越近越好)
RDD的五大特点(了解)
1- 可分区的: 分区是抽象的分区, 仅仅是定义分区的信息规则 2- 只读特性: 一个RDD对象中数据是不可变的 3- 依赖: RDD与RDD之间是存在依赖关系: 依赖关系越长, 整个血缘关系越长 血缘关系越长,重新计算的代价就会越大 依赖中可以分为: 宽依赖和窄依赖 4- 缓存: 当需要对一个RDD的结果进行重复使用的时候, 可以将这个RDD的计算结果缓存起来, 减少后续重新计算的资源和时间消耗 5- checkpoint: 检测点 当依赖链条比较长的时候, 如果其中一个算子计算失败, 重新计算一次的代价是很大的, 需要重新将整个依赖关系全部重塑, 非常耗费资源, 可以同检测点将血缘关系打断, 在对应打断点上记录当前结果数据, 这样后续即使使用了, 也不需要重塑全部依赖流程 提升容错能留
如何构建RDD
通过 parallelize('''') API 来构建RDD对象 通过加载外部数据集的方式构建: textFile(....)