Spark之核心---RDDs(1)
来源:互联网 发布:淘宝防举报防排查 编辑:程序博客网 时间:2024/06/05 04:50
随着Spark在分布式计算中越来越流行,启用了内存数据分布级,补充Hadoop上对于迭代问题效率较低的问题,同时Spark和scala的完美融合也使Spark更具优越性。本篇将介绍Spark的核心—RDDs的基本概念,创建方法和RDDs的特性三个部分。 RDDs的操作方法将在下一篇具体介绍。
1. RDDs的基本概念
首先了解什么是RDDs:
RDDs(Resilient distributed datasets)即:弹性分布式数据集,它并行分布在整个集群中。**RDDs是spark分布数据和计算的基础抽象类。一个RDD是一个不可改变的分布式集合对象。**Spark中所有的计算都是通过RDDs的创建、转换和操作完成的。
一个RDD内部有许多分片组成(partitions),例如有500条数据,分5个分片存储,那么一个分片上就有100条数据。分片是Spark并行处理的单元,Spark顺序地并行地处理分析。
2. RDDs的创建方法
RDDs有两种创建方法
a.把一个存在的集合传给SparkContext的parallelize()
val rdd = sc.parallelize(Array(1,2,3,4),4)其中sc是一个默认的SparkContext对象,直接调用parallelize方法。Array(1,2,3,4)是初始化的代处理的集合,4是指定的分区个数。
b.加载外部数据集
val rddText = sc.textFile("../testFile/hellospark.txt")其中hellospark.txt的文件内容如下: hello spark! hello world!
这里还要简单介绍下scala的一些用法。
1.scala创建变量用val或者var。二者区别是:val一旦创建变量后,就不能再修改。即一旦分配不能重新指向别的值;var创建变量后还可以指向其他类型相同的值。
2.scala的匿名函数和类型推断
lines.filter(line => line.contains("hello"))这个filter就是一个匿名函数,接收参数为line即使这个函数使用了String类型的contains方法,不过也不用指定line的类型,因为scala能够推断出line的类型。
3. RDDs的特性
a. spark维持着RDDs之间依赖关系和创建关系,叫做血统关系图。RDDs用血统关系图计算每个RDD需求和恢复失去的数据。RDDs用血统关系图计算每个RDD需求和恢复失去的数据。关系图如下:
b. 延迟计算特性(lazy Evaluation)
Spark对RDDs的计算:只有action操作时才进行,这样做减少了数据的传输。Spark内部记录metadata,表名transformation操作已被响应。例如加载操作。
c.持久性
Spark的action操作计算的结果会暂时存放在缓存中,如果后续需要结果时,直接使用即可,不必重复计算。例如RDD.persist(),直接获取结果。
- Spark之核心---RDDs(1)
- Spark之核心---RDDs(2)
- Spark, Shark, and RDDs
- 从RDDs到Spark
- Spark RDDs 编程
- spark Rdds介绍
- spark,keyValue对RDDs
- Spark学习笔记(二)-弹性分布式数据集RDDs
- RDDs, Spark Memory, and Execution
- Spark (Python版) 零基础学习笔记(五)—— Spark RDDs编程
- Spark大数据处理之从WordCount看Spark大数据处理的核心机制(1)
- Spark核心是什么,如何使用Spark(之二)
- RDDs
- spark 对 RDDs的基础操作 整理
- spark之核心概念简介
- spark 不支持 嵌入RDDs or 用户定义的函数 that refer to other RDDs 【未完待续】
- Learning Spark 学习笔记 第三章 RDDs编程
- Spark PG2. RDDs 并行集合 外部数据集
- 《将博客搬至CSDN》
- Java xml 操作(Dom4J修改xml   + xPath技术  + SAX解析 + XML约束)
- tcp协议栈优化1-增加TCP初始拥塞窗口 ===》流氓的方式
- Junit 单元测试、BeanUtils、Properties类
- Linux 基本命令
- Spark之核心---RDDs(1)
- 如何开发一个Servlet
- servlet中cookie和session操作
- Java Jsp使用
- Java jsp 自定义标签
- WebSphere V8.5 静默安装升级(二)-使用响应文件静默安装(生成相应文件)以及managesdk管理SDK
- MySQL入门
- Java jdbc入门
- 冒泡排序