RDD 入门_Map 算子|学习笔记

简介: 快速学习 RDD 入门_Map 算子

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

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


RDD 入门_Map 算子

rdd 算子的使用以及算子的根本原理即:

rdd 算子操作, wordcount 中的三个算子 map,flatmap,reduceByKey。

了解这三个算子怎么使用以及掌握如何通过 map 算子将一份数据转换为另外一种形式,通过 flatmap 掌握在转换的同时,如何进行展开,通过学习 reduceByKey 掌握初级聚合。

map,flatmap 可看作 map,reduceByKey 看作 reduce ,通过本节内容了解 spark 本身支持 map、reduce 。


内容介绍:

一、Map 算子

二、Flatmap 算子

三、ReduceByKey 算子


一、Map 算子

主要作用:一份数据转换为另一份数据,即将 RDD1 的数据转换为 RDD2 中的数据。它们的转换规则是 map 中接收的函数即 map 算子。

image.png

调用命令: def map[U:ClassTag](f:T-U):RDD[U],

编写如下:

首先命名为 def mapTest ,为其增加注释 @Test ,

1.创建 RDD,

2.执行 map 操作,

3.得到结果。

创建 val rdd1 =sc. Parallelize 本地集合来创建,需求是将括号中的数字均放大10倍,通过 rdd1.map 得到 rdd2 接收 function 直接表达,比如 item=> 这样的参数,函数值是 item*10 ,此操作无法获取结果即算子的操作不会直接获得结果,只有需要时才会计算结果,通过 rdd2.collect()  收集结果 result ,然后打印结果 print(result) ,等待结果。

结果不明显,将 print(result) 改为 result.foreach(item => println(item)) 注意其类型为 scala 的 Array 类型。

与 spark 无关,它是 scala 本身的集合的 API ,运行结果,代码无误。

@Testdef mapTest():Unit ={

//1.创建 RDD

val rdd1 =sc. parallelize(Seq(1,2,3))

//2.执行 map 操作

val rdd2 = rdd1.map(item=>item*10)

//3.得到结果

算子的操作不会直接获得结果,只有需要时才会计算结果如:

val result:Array[Int] = rdd2.collect()

result.foreach(item => println(item))

}

运行如图所示:

image.png

得到结果为:

10,20,30,说明该代码无误。

相关文章
|
9月前
|
消息中间件 存储 Kafka
Flink---11、状态管理(按键分区状态(值状态、列表状态、Map状态、归约状态、聚合状态)算子状态(列表状态、广播状态))
Flink---11、状态管理(按键分区状态(值状态、列表状态、Map状态、归约状态、聚合状态)算子状态(列表状态、广播状态))
|
6天前
|
存储 C++ 容器
【C++】学习笔记——map和set
【C++】学习笔记——map和set
7 0
|
2月前
|
存储 算法 C语言
【C++入门到精通】C++入门 —— map & multimap (STL)
之前我们学习了C++的基础和一些概念,现在将探讨重要的STL组件——map与multimap。map是关联容器,提供有序键值对存储,基于红黑树,支持高效查找、插入和删除。每个键唯一对应一个值。multimap则允许键的重复。两者都提供迭代器支持,但map的键是唯一的,而multimap允许键重复,插入和查找效率不同。更多详情,请查阅官方文档。祝学习愉快!
19 0
|
11月前
|
前端开发
前端学习笔记202306学习笔记第三十八天-手写map2
前端学习笔记202306学习笔记第三十八天-手写map2
107 0
前端学习笔记202306学习笔记第三十八天-手写map2
|
2月前
|
分布式计算 JavaScript 前端开发
Stream学习笔记(二)map与reduce
Stream学习笔记(二)map与reduce
|
2月前
|
定位技术 Python
pyecharts从入门到精通-地图专题Map-带时间轴与网格的复杂绘图
pyecharts从入门到精通-地图专题Map-带时间轴与网格的复杂绘图
|
2月前
|
存储 JavaScript
【ES6系列第二篇】适用JS初学者的Set对象和Map对象学习笔记
【ES6系列第二篇】适用JS初学者的Set对象和Map对象学习笔记
31 0
|
2月前
|
分布式计算 Scala Spark
[Spark精进]必须掌握的4个RDD算子之map算子
[Spark精进]必须掌握的4个RDD算子之map算子
46 0
|
11月前
|
前端开发
前端学习笔记202305学习笔记第二十八天-什么是对象结构 set map之13
前端学习笔记202305学习笔记第二十八天-什么是对象结构 set map之13
30 0
前端学习笔记202305学习笔记第二十八天-什么是对象结构 set map之13
|
11月前
|
前端开发
前端学习笔记202306学习笔记第四十二天-Es6-Map的理解1
前端学习笔记202306学习笔记第四十二天-Es6-Map的理解1
36 1