RDD 入门_RDD 是什么|学习笔记

简介: 快速学习 RDD 入门_RDD 是什么

开发者学堂课程【大数据 Spark2020最新课程(知识精讲与实战演练)第一阶段RDD 入门_RDD 是什么】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/688/detail/11950


RDD 入门_RDD 是什么

课题引入:

对 spark 入门案例进行细节补充说明。之前课程中编写使用的 API 均为编程模型,此模型被称为 rdd ,了解 rdd 入门的过程即为之前所学算子、编程模式的解答。

若要了解 rdd 主要有两方面: rdd 的概念; rdd 的代码。

image.png


内容介绍:

一、RDD 的概念

二、RDD 的代码


一、RDD 的概念

.RDD 在哪

示例代码:

object wordcount {

def main(args:util.Arrays[String]):Unit ={

//1.创建 sparkcontext

val conf=new

sparkconf().setmaster(“local[6]”) .setappname(“word_count”)   val sc = new sparkcontext(conf)

//2.加载文件

//①准备文件

//②读取文件

val rdd1=sc.textFile(path= “dataset/wordcount.txt”)

//3.处理

//①把整句话拆分为多个单词

val rdd2=rdd1.flatmap(item=>item.split(regex= “”))

//②把每个单词指定一个词频1

val rdd3=rdd2.map(item=> (item,1))

//③聚合

val rdd4=rdd3.reduceByKey((curr,agg)=>curr+agg)

//4.得到结果

val result=rdd4.collect()println(result)

主要步骤中的 rdd1 补全类型为 val rdd1:RDD[String] 中,文件放有字符串所以为 String ,rdd2,rdd3,rdd4 补全同理。

.RDD 是什么

由此可为 RDD 下定义:

全称 resilient Distributed Datasets(弹性分布式数据集),是一个容错的,并行的数据结构,可让用户显式地将数据存储到磁盘和内存中,并能控制数据的分区。

1.rdd 是数据集:

使用 textFile api 通过路径对应的文件读取其中内容生成  rdd 即 rdd 保存该文件的数据。

2.rdd 是编程模型:

rdd1 对象的类型为 rdd 而 rdd1 可以调用 flatmap 来进行相应的算子的编写因而称它为编程模型。

rdd 相互之间存在依赖关系:

对于 rdd1 而言,它使用 flatmap 生成 rdd2 ,以此类推,它们彼此之间均存在关系。

3.rdd 是可以分区的: 

mapreduce 为一个运行的计算框架,它是并行的计算框架的原因是 mapreduce 经常访问 HDFS 的文件处理, HDFS 本身可区分,rdd 可以访问很多数据源获取数据如: HDFS;HBase;Cassandra。

对于 rdd 访问 HDFS 文件,rdd 可分区, HDFS 当中文件可区分,在 HDFS 中存有 wordcount.txt 文件,分为三个 block ,rdd 也应具备同时处理这三个 block 的能力。

首先 rdd 需进行自行的分区,

如图所示:

image.png

且在一般情况下 rdd 支持外部分区,即 HDFS 存在几个分区, rdd 相应存在等量分区。

RDD 的特点:

rdd 是数据集;rdd 是编程模型;rdd 相互之间存在依赖关系;rdd 是可以分区的。

相关文章
|
2月前
|
分布式计算 Hadoop 分布式数据库
RDD编程
RDD编程
13 2
|
2月前
|
缓存 分布式计算 Java
Spark【RDD编程(二)RDD编程基础】
Spark【RDD编程(二)RDD编程基础】
|
2月前
|
存储 分布式计算 Hadoop
Spark 【RDD编程(一)RDD编程基础】
Spark 【RDD编程(一)RDD编程基础】
|
2月前
|
分布式计算 Hadoop 数据处理
Spark【RDD编程(三)键值对RDD】
Spark【RDD编程(三)键值对RDD】
|
存储 缓存 分布式计算
深入 RDD_定义_RDD 的特点 | 学习笔记
快速学习 深入 RDD_定义_RDD 的特点
89 0
深入 RDD_定义_RDD 的特点 | 学习笔记
|
分布式计算 并行计算 大数据
RDD 入门_创建 RDD 的三种方式|学习笔记
快速学习 RDD 入门_创建 RDD 的三种方式
319 0
RDD 入门_创建 RDD 的三种方式|学习笔记
|
分布式计算 大数据 开发者
RDD 入门_ReduceByKey 算子|学习笔记
快速学习 RDD 入门_ReduceByKey 算子
90 0
RDD 入门_ReduceByKey 算子|学习笔记
|
分布式计算 大数据 开发者
RDD 入门_FlatMap 算子|学习笔记
快速学习 RDD 入门_FlatMap 算子
303 0
RDD 入门_FlatMap 算子|学习笔记
|
分布式计算 大数据 开发者
RDD 入门_Map 算子|学习笔记
快速学习 RDD 入门_Map 算子
107 0
RDD 入门_Map 算子|学习笔记
|
分布式计算 前端开发 大数据
RDD 入门_SparkContext|学习笔记
快速学习 RDD 入门_SparkContext
85 0
RDD 入门_SparkContext|学习笔记