Spark RDD使用原则
来源:互联网 发布:矩阵分解svd 视频 编辑:程序博客网 时间:2024/06/03 22:38
如今随着数据量的不断增加,Hadoop已经难以满足处理需求,逐渐发展起来的Spark基于内存的并行计算已经得到了广泛的应用。Spark博大精深,编写起来比Hadoop方便很多,简单的几行代码就可以实现Hadoop复杂的代码,简单方便!著名的例子就是单词统计。对于Spark性能的调优部分可以查看美团点评团队写的文章http://tech.meituan.com/spark-tuning-basic.html,写的很棒。Spark使用需要注意的几个原则:1、同一个份数据只需要创建一个RDD,不要创建多个RDD,避免浪费开销;2、对于多次使用的RDD将其持久化到缓存,持久化的时候尽量使用序列化的持久化级别(MEMORY_ONLY_SER,MEMORY_AND_DISK_SER)3、避免使用多余的RDD,尽可能的复用同一个RDD;4、避免使用Shuffle操作,避免使用reduceByKey、join、distinct、repartition等会进行shuffle的算子,尽量使用map类的非shuffle算子。5、使用高性能的算子:使用reduceByKey/aggregateByKey而不是用groupByKey;根据需求可以对同一个分区里进行map操作,使用mapPartitions;同时可以使用foreachPartitions代替使用foreach;使用filter之后一般需要进行coalesce对Rdd的分区进行修改;当需要对Rdd进行重分区并排序的时候,尽量使用repartitionAndSortWithinPartitions,在充分区的时候并进行排序操作,提高处理速度。6、合理使用广播变量,而不使用join进行操作7、使用Kryo进行spark的序列化操作。
目前研究于Spark与Hadoop,群QQ号:521066396(spark,hadoop交流群),欢迎加入共同学习,一起进步~
1 0
- Spark RDD使用原则
- Spark RDD使用详解1--RDD原理
- Spark RDD使用详解1--RDD原理
- 使用Alluxio优化Spark RDD
- spark rdd scala相关使用
- Spark RDD使用详解2--RDD创建方式
- 【spark RDD】RDD编程
- Spark/RDD
- Spark-rdd
- spark RDD
- Spark RDD
- Spark RDD
- spark rdd
- Spark RDD
- Spark rdd
- spark-RDD
- Spark RDD
- spark RDD
- hdu2614 Beat(简单dfs)
- ACM_最短路
- CentOS 6.7下yum安装五笔输入法
- 【CodeForces】[621A]Wet Shark and Odd and Even
- IOS内存管理机制
- Spark RDD使用原则
- Linux中 vim 编辑器的使用
- linux下java获取本机IP地址
- Linux 常用命令总结
- Table表格刷新内容后
- oracle-循环内部,异常处理
- Qt 5.5.0-成功移植到TQ210
- django中上传和下载的配置
- 远程访问EJB