Spark学习笔记(二)-弹性分布式数据集RDDs
2016-09-17 22:07
363 查看
Spark-弹性分布式数据集RDDs
在阅读很多的Spark简介中,都及多的提到RDDs这个名词。官方文档指出:Spark 核心的概念是 Resilient Distributed Dataset (RDD):一个可并行操作的有容错机制的数据集合。这句话说明RDD的本质是集合,这个集合带有并行操作和容错机制。官方文档指出有两种方式创建RDD,一种是在你的驱动程序中并行化一个已经存在的集合。这句话说明,我们要在我们的程序中将一个集合并行化。集合的概念很宽泛,集合可以是浮点数的集合也可以是整数的集合,也可以是类的集合。这里我们先把集合初步理解为数值的集合。在C语言中,数值的集合我很容易知道就是数组。那么如何是并行化?
并行集合
并行集合 (Parallelized collections) 的创建是通过在一个已有的集合(Scala Seq )上调用 SparkContext 的 parallelize 方法实现的。集合中的元素被复制到一个可并行操作的分布式数据集中。 [ Spark编程指南 ]例如:
val data = Array(1, 2, 3, 4, 5) val distData = sc.parallelize(data)
一旦创建完成,这个分布式数据集( distData )就可以被并行操作。例如,我们可以调用 distData.reduce((a, b) => a + b)将这个数组中的元素相加。我们以后再描述在分布式上的一些操作。
为什么说将数组相加是分布式操作,因为我们知道在C语言中,对元素的运算是逐步运算的,一般是取出某个元素,然后再取出一个元素,然后对两个元素求和,最后在赋值回去,spark的运算是并行的,取出元素可以认为是同时取然后算存储回去。C语言只能同时计算val data 中的1+2,但是spark可以做到在计算1+2同时计算3+4且同时计算4+5,这个就是spark的并行计算特性。
相关文章推荐
- Spark学习笔记(三)-RDD(弹性分布式数据集)
- Spark 基础学习第一讲:弹性分布式数据集RDD
- Spark核心类:弹性分布式数据集RDD及其转换和操作pyspark.RDD
- 弹性分布式数据集RDDs:基于内存的集群计算的容错性抽象
- Spark核心类:弹性分布式数据集RDD及其转换和操作pyspark.RDD
- Spark弹性分布式数据集RDD详解
- Spark核心类:弹性分布式数据集RDD及其转换和操作pyspark.RDD
- 【spark,RDD,1】弹性分布式数据集RDD介绍
- Spark的核心RDD(Resilient Distributed Datasets弹性分布式数据集)
- Spark(三):弹性分布式数据集(RDD)
- 浅谈对于RDD的认识 RDD(Resilient Distributed Datasets)弹性分布式数据集,是在集群应用中分享数据的一种高效,通用,容错的抽象,是Spark提供的最重要的抽象的概念
- [Spark]Spark RDD 指南三 弹性分布式数据集(RDD)
- Hive数据分析——Spark是一种基于rdd(弹性数据集)的内存分布式并行处理框架,比于Hadoop将大量的中间结果写入HDFS,Spark避免了中间结果的持久化
- Spark - RDD(弹性分布式数据集)
- 【js学习笔记-083】-----数据集属性
- ActionScript学习笔记(七)——缓动和弹性运动
- Hadoop学习笔记【12】-Hadoop2.1全分布式集群安装
- C# Hadoop学习笔记(十)—C#的分布式计算运行结果
- Spark RDDs(弹性分布式数据集):为内存中的集群计算设计的容错抽象
- R语言学习笔记2——数据集