一眼看懂map和flatmap的区别
map的作用很容易理解就是对rdd之中的元素进行逐一进行函数操作映射为另外一个rdd。
flatMap的操作是将函数应用于rdd之中的每一个元素,将返回的迭代器的所有内容构成新的rdd。通常用来切分单词。
Spark 中 map函数会对每一条输入进行指定的操作,然后为每一条输入返回一个对象。 而flatMap函数则是两个操作的集合——正是“先映射后扁平化”:
操作1:同map函数一样:对每一条输入进行指定的操作,然后为每一条输入返回一个对象
操作2:最后将所有对象合并为一个对象
object fla_map {def main(args: Array[String]): Unit = {val rdd1= List(List("A","B"),List("C","D"))rdd1.map( i => println(i))println(rdd1)println("----------------------")val strings = rdd1.flatMap(f => f)println(strings)strings.foreach( i => println(i))}
}
map:List里有小的List
flatmap:是先flat再map,只能压一次,形成一个新的List集合,把原元素放进新的集合里面
一眼看懂map和flatmap的区别相关推荐
- Stream中map和flatmap的区别,一看就懂
在日常开发中,我们经常会使用Stream来处理集合的操作. 其中,map是我们经常用到的api方法,同时呢,Stream也给我们提供了flatmap的方法. 这时候很多小伙伴就会搞不懂,这map和fl ...
- 一眼看懂 Spring SpringMVC和SpringBoot 区别
一.概念 1.Spring Spring是一个开源容器框架,可以接管web层,业务层,dao层,持久层的组件,并且可以配置各种bean,和维护bean与bean之间的关系.其核心就是控制反转(IOC) ...
- java8中的map与flatmap区别
map:只能返回一个值 flatmap:返回多个值 new ArrayList().stream().map(x -> x);//返回一个 new ArrayList().stream().fl ...
- RxJava 中的map与flatMap
1.map和flatMap都是接受一个函数作为参数(Func1) 2.map函数只有一个参数,参数一般是Func1,Func1的<I,O>I,O模版分别为输入和输出值的类型,实现Func1 ...
- map原理 java_RxJava的基本原理以及Map,flatMap的原理
前言: RxJava想必很多人都用过了,其实也是一早就接触过这个框架了,但是最近看了下一些关于是否需要使用RxJava的文章,对于RxJava的优点缺点有了更深的理解,然后看了论坛上有朋友提到很难理解 ...
- spark RDD 的map与flatmap区别说明(转)
转载前备注: 下面的实验全部在spark-shell中运行即可 #------------------------------------------------------------------- ...
- flatmap 与map 的区别 java_map和flatmap的区别+理解、学习与使用 Java 中的 Optional
orElse() 和 orElseGet()的不同之处 乍一看,这两种方法似乎起着同样的作用.然而事实并非如此.我们创建一些示例来突出二者行为上的异同. 我们先来看看对象为空时他们的行为: @Test ...
- map and flatmap 区别
2019独角兽企业重金招聘Python工程师标准>>> map vs flatMap in Spark September 24, 2014Big Dataexample, spar ...
- java8 flatmap与map_java8中map和flatMap区别
1.函数定义比较 map注释: /** * Returns a stream consisting of the results of applying the given * function to ...
最新文章
- YOLOv4没交棒,但YOLOv5来了!
- VUE的data数据对象
- 深入了解Zookeeper核心原理
- 让数据库操作变成非阻塞的
- keras 多输出问题
- Windows 下 PHP 开发环境配置系列四 - IIS+php+mysql
- 回车键提交与不提交表单的解决方法
- 大一大学计算机应用基础,大一计算机应用基础试题
- js中this的作用域
- lumion6.0的下载和安装教程
- linux 提升管理员权限命令,​cmd怎么用命令直接提升到管理员权限|cmd原有权限提升方法...
- 2014年终总结回顾与2015年工作总结
- 名正则言顺�谈服装品牌名称(三)
- eToken 身份认证
- OAException Application FND Message Name FND NO DATABASE
- TX云游戏平台 WeGame 1.0.3.8中文版
- Docker(二十)--Docker k8s--Kubernetes存储--Volumes配置管理
- 使用java容器(集合类)模拟商城
- 蓝桥杯-【交换瓶子】【2016年省赛B组题解】【C++】
- OpenDDS系列(3) —— 第一个OpenDDS程序
热门文章
- Java 类型转换: char转int
- 【转】Linux那些事儿之我是U盘(33)彼岸花的传说(一)
- 想知道图片编辑修改文字怎么操作吗
- 15分钟安装MySQL[如何彻底卸载旧mysql+重装+测试]
- [word] 加密密码忘记了怎么办?
- onMouseEnter,onMouseLeave,onMouseOver,onMouseOut的区别
- 数位dp总结 之 从入门到模板
- JavaFX11入门
- MySQL基础之DDL语句
- 基于Django的B2C线上电子产品销售平台设计与实现