博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spark 小内容
阅读量:5906 次
发布时间:2019-06-19

本文共 1049 字,大约阅读时间需要 3 分钟。

  hot3.png

Spark 的一些内容

1.函数作用以及返回值类型

foreachflatMap		返回的迭代器的所有内容构成新的RDD				是一个序列化的数据而不是单个数据项-- a Seqmap		map:对集合中每个元素进行操作。 		flatMap:对集合中每个元素进行操作然后再扁平化。 groupByKey():--作用以及返回值类型 --对具有相同键的值进行分组	groupByKey也是对每个key进行操作,但只生成一个sequence	[K, Iterable[V]]reduceByKey()  ----------------------------   合并具有相同键的值	规约,对具有键相同的值合并起来--返回 各键以及 对应键规约出来的结果值 组成的新的RDD	对大数据进行复杂计算时,reduceByKey优于groupByKey

2.关于分区

01.Spark提供基于分区的map和foreach	mapPartitions   foreachPartition	从算子的类型:		foreachPartition应该属于action运算操作,而 mapPartitions 是在Transformation中		返回值上:mapPartitions 返回值类型迭代器: Iterator[U]  该元素的迭代器		应用场景上:		mapPartitions可以获取返回值,继续在返回RDD上做其他的操作         foreachPartition因为没有返回值并且是action操作,所以使用它一般都是在程序末尾比如说要落地数据到存储系统中如mysql,es,或者hbase中,02.并行度		001.对于已知的RDD进行重分区		002.数据混洗操作中,使用参数的方式为混洗后的RDD指定并行度重分区:	repartition() 把RDD随机打乱并分成设定的分区数目	coalesce():减少分区--没有打乱		对RDD的分区进行重新划分,repartition内部调用了coalesce,参数shuffle为true		  扩大分区		  减少分区			coalesce算子,可以手动减少DataFrame的partition数量,并且不用触发shuffle,			这也是coalesce跟repartition的区别			repartition一定会触发shuffle

转载于:https://my.oschina.net/sunmin/blog/3035483

你可能感兴趣的文章
Redis List数据类型
查看>>
大数据项目实践(四)——之Hive配置
查看>>
初学vue2.0-组件-文档理解笔记v1.0
查看>>
上传图片预览
查看>>
lagp,lacp详解
查看>>
LVS之DR模式原理与实践
查看>>
Docker的系统资源限制及验证
查看>>
c++ ios_base register_callback方法使用
查看>>
Java中为什么需要Object类,Object类为什么是所有类的父类
查看>>
angularjs-paste-upload
查看>>
linux基础命令 head
查看>>
objective c:import和include的区别, ""和<>区别
查看>>
The Shared folder with you
查看>>
sax方式解析XML学习笔记
查看>>
Springboot配置(上)
查看>>
java--Eclipse for mac 代码提示(代码助手,代码联想)快捷键修改
查看>>
left join on/right join on/inner join on/full join on连接
查看>>
template.helper 多参数
查看>>
Android 四大组件之一(Activity)
查看>>
扫描(一)
查看>>