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,说明该代码无误。

目录
打赏
0
0
0
0
115
分享
相关文章
从入门到精通:Java Map全攻略,一篇文章就够了!
【10月更文挑战第17天】本文详细介绍了Java编程中Map的使用,涵盖Map的基本概念、创建、访问与修改、遍历方法、常用实现类(如HashMap、TreeMap、LinkedHashMap)及其特点,以及Map在多线程环境下的并发处理和性能优化技巧,适合初学者和进阶者学习。
148 3
SpringMVC入门到实战------5、域对象共享数据 Request、Session、Application、Model、ModelAndView、Map、ModelMap的详细使用及代码实例
这篇文章详细解释了在IntelliJ IDEA中如何使用Mute Breakpoints功能来快速跳过程序中的后续断点,并展示了如何一键清空所有设置的断点。
SpringMVC入门到实战------5、域对象共享数据 Request、Session、Application、Model、ModelAndView、Map、ModelMap的详细使用及代码实例
从入门到精通:Java Map全攻略,一篇文章就够了!
【10月更文挑战第19天】本文介绍了Java编程中重要的数据结构——Map,通过问答形式讲解了Map的基本概念、创建、访问与修改、遍历方法、常用实现类(如HashMap、TreeMap、LinkedHashMap)及其特点,以及Map在多线程环境下的使用和性能优化技巧,适合初学者和进阶者学习。
140 4
Go从入门到放弃之map(字典)
Go从入门到放弃之map(字典)
|
8月前
|
【C++】学习笔记——map和set
【C++】学习笔记——map和set
51 0
从入门到精通:Java Map全攻略,一篇文章就够了!
【6月更文挑战第18天】Java Map是键值对集合,接口有HashMap、TreeMap、LinkedHashMap等实现。创建Map如`Map<String, Integer> map = new HashMap<>();`。访问修改值用`get()`和`put()`。遍历Map用`entrySet()`配合for-each。多线程下用ConcurrentHashMap。优化包括选对实现类、设置容量和负载因子、避免遍历时修改。本文助你精通Map使用。
213 0
|
9月前
|
【C++入门到精通】哈希 (STL) _ unordered_map _ unordered_set [ C++入门 ]
【C++入门到精通】哈希 (STL) _ unordered_map _ unordered_set [ C++入门 ]
111 1
ES6的Set和Map你都知道吗?一文了解集合和字典在前端中的应用
该文章详细介绍了ES6中Set和Map数据结构的特性和使用方法,并探讨了它们在前端开发中的具体应用,包括如何利用这些数据结构来解决常见的编程问题。
ES6的Set和Map你都知道吗?一文了解集合和字典在前端中的应用
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等