Spark学习笔记10-RDD(Resilient Distributed Datasets)
来源:互联网 发布:一梦似瑶台,心知玉女来 编辑:程序博客网 时间:2024/06/08 02:40
1.RDD概念
RDD(Resilient Distributed Datasets),弹性分布式数据集。是分布式内存的一个抽象概念,RDD提供了一种高度受限的共享内存模型,即RDD是只读的记录分区的集合,只能通过在其他RDD执行确定的转换操作(如map、join和group by)而创建,然而这些限制使得实现容错的开销很低。对开发者而言,RDD可以看作是Spark的一个对象,它本身运行于内存中,如读文件是一个RDD,对文件计算是一个RDD,结果集也是一个RDD ,不同的分片、 数据之间的依赖 、key-value类型的map数据都可以看做RDD。(摘自百度百科)
2.Rdd创建的几种方法
(1)使用程序中的集合创建RDD(2)使用本地文件创建RDD(3)使用HDFS创建RDD(4)基于DB创建rdd(5)基于NoSQL,例如HBase(6)基于S3创建RDD(7)基于数据流创建RDD
3.用实例来说明前3种
3.1 集合创建RDD
用集合来创建RDD,主要是用于测试。本例子是在intelliJ中编写spark程序。关于intelliJ中创建spark工程的方法可以参考签名笔记eclipse创建spakr工程的方法,不再详细说明。
如下图所示,我在intelliJ中创建一个名为RDDBasedOnCollections的测试程序。使用val numbers = 1 to 100 来创建一个scala集合。再用sc.parallelize来创建RDD。再进行reduce。实现1加到100 。显示结果我哦5050。这样就做到来通过集合创建RDD
3.2 本地文件创建RDD
本地文件helloSpark.txt,内容如下图所示。
我在intelliJ中创建一个名为RDDBasedOnLocalFile的测试程序。我将/Users/xxm/Documents/soft/helloSpark.txt文件导入程序中,用来计算所有字符总数。如下图,我通过sc.textFile方法把本地文件创建为rdd。
3.3 HDFS创建RDD
HDFS创建RDD,就是把3.2中本地文件改为在HDFS分布式系统中的文件即可。这里不截图来说明了,只要把sc.textFile的参数给我HDFS文件即可,如改为sc.textFile(”hdfs:/Users/xxm/Documents/soft/helloSpark.txt”)
然后打包成jar包,发到spark集群上去运行,可以参考笔记8中在集群中运行WordCount程序方法。
XianMing
- Spark学习笔记10-RDD(Resilient Distributed Datasets)
- spark学习笔记:Resilient Distributed Datasets
- Spark RDD(Resilient Distributed Datasets)论文 | ApacheCN
- Spark的核心RDD(Resilient Distributed Datasets弹性分布式数据集)
- 理解Spark - RDD(Resilient Distriuted Datasets)
- RDD(Resilient Distributed Datasets 弹性分布式数据集)
- 浅谈对于RDD的认识 RDD(Resilient Distributed Datasets)弹性分布式数据集,是在集群应用中分享数据的一种高效,通用,容错的抽象,是Spark提供的最重要的抽象的概念
- JX8NET 教你用 Spark Resilient Distributed Dataset
- Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing
- Resilient Distributed Datasets: A Fault-Tolerant Abstraction forIn-Memory Cluster Computing
- Spark学习笔记二 RDD
- spark RDD解密学习笔记
- Spark学习笔记 --- RDD详解
- Spark学习笔记 --- 什么是RDD
- Spark学习笔记 --- spark RDD加载文件
- RDD Dependency详解---Spark学习笔记9
- Spark学习笔记之<RDD原理>
- Spark学习笔记三(RDD常用操作)
- CSDN-markdown编辑器的使用
- 补一个
- Driver Signing changes in Windows 10
- jsp指令标识
- 2016-3-2
- Spark学习笔记10-RDD(Resilient Distributed Datasets)
- (C++)保留小数点位数
- Unity3D项目之《坦克大战》
- ScrollView嵌套ViewPager滑动冲突的解决
- Linux内核中Netfilter架构介绍http://blog.csdn.net/wuruixn/article/details/7957368
- ORACLE 12c 固定表2
- 快手sig计算
- 动态分配内存函数——calloc,free,malloc,realloc
- C#之使用委托查找任意单一类型数组的最大值