1. RDD的基本介绍
1.1 什么是RDD
RDD: 弹性分布式数据集
出现目的: 为了能够支持更加高效的迭代计算操作
背景说明:
早期的计算模型: 单机计算模型
例如: MySQL / Excel
单机的计算模型
仅适用于: 小量数据集的处理操作
在计算操作的时候, 只有一个进程, 在一个进程中通过不断的迭代完成最终的计算操作
随着不断的发展, 整个社会数据量都在不断的增大, 原有单机的计算模型无法应对未来的数据处理需要, 怎么办呢? 分布式计算模型
核心: 采用多节点处理, 将一个任务拆分为N多个子任务, 分别运行在不同的节点上进行并行的处理,各个节点计算完成后, 将结果汇总处理即可 (分而治之)
诞生了相关的分布式计算框架: MR Spark Flink Storm ......
MR和Spark都是一个大规模的分布式计算引擎, 都可以处理大规模的数据;
MR存在的弊端: 1- 执行效率低 2- 迭代计算不方便
正因为MR存在一些弊端, 对于市场来说, 迫切需要一款能够解决MR痛点的架构:
1- 解决多次磁盘的IO问