Spark 简介以及与 Hadoop 的对比2.1 弹性分布数据集(RDD) RDD 是 Spark 的最基本抽象,是对分布式内存的抽象使用,实现了以操作本地集合的方式 来操作分布式数据集的抽象实现。RDD 是 Spark 最核心的东西,它表示已被分区,不可变的 并能够被并行操作的数据集合,不同的数据集格式对应不同的 RDD 实现。RDD 必须是可序 列化的。RDD 可以 cache 到内存中,每次对 RDD 数据集的操作之后的结果,都可以存放到 交互式数据挖掘来说,效率提升比较大。 1.2.2 RDD 的转换与操作 对于 RDD 可以有两种计算方式:转换(返回值还是一个 RDD)与操作(返回值不是一个 RDD) 1. 转换(Transformations) (如:map, filter, groupBy, join 等),Transformations 操作是 Lazy 的,也就是说从一个 RDD 转换生成另一个 RDD 的操作不是马上执行,Spark 操作会返回结果或把 RDD 数据写 到存储系统中。Actions 是触发 Spark 启动计算的动因。 1.2.3 血统(Lineage) 利用内存加快数据加载,在众多的其它的 In-Memory 类数据库或 Cache 类系统中也有实 现,Spark 的主要区别在于它处理分布式运算环境下的数据容错性(节点实效/数据丢失)问 题时采用的方案。为了保证 RDD 中数据的鲁棒性,RDD 数据集通过所谓的血统关系(Lineage)0 码力 | 3 页 | 172.14 KB | 1 年前3
共 1 条
- 1













