Learning Spark 笔记(五) -- coalesce、repartition

原创 2016年08月30日 00:08:45

8 . 在Spark中,有两种方法可以重设RDD的分区,coalesce和repartition。先看一下coalesce和repartition的定义:

def coalesce(numPartitions: Int, shuffle: Boolean = false){...}
def repartition(numPartitions: Int)(implicit ord: Ordering[T] = null): RDD[T] = withScope {
        coalesce(numPartitions, shuffle = true)
    }

coalesce有两个参数,一个是最小分区数,第二个是是否要shuffle的bool值。repartition是coalesce第二个参数为false的情况下的实现,较之简单一些。
coalesce默认不会进行shuffle,即shuffle=false,但是小分区数转为大分区数的时候shuffle设置为false并不起作用,因为小转大要shuffle。大分区数转小分区数的时候应该尽量使用coalesce,因为这避免了数据的移动,性能要高于repartition。

版权声明:本文为博主原创文章,未经博主允许不得转载。

Spark 重分区coalesce和repartition,合并小文件

源码包路径: org.apache.spark.rdd.RDD coalesce函数: 方法注释: Return a new RDDthat is reduce...

Spark Rdd coalesce()方法和repartition()方法

有时候需要重新设置Rdd的分区数量,比如Rdd的分区中,Rdd分区比较多,但是每个Rdd的数据量比较小,需要设置一个比较合理的分区。或者需要把Rdd的分区数量调大。还有就是通过设置一个Rdd的分区来达...
  • chenjoe
  • chenjoe
  • 2017年06月13日 16:40
  • 179

Spark 重分区函数:coalesce和repartition区别与实现,可以优化Spark程序性能

源码包路径: org.apache.spark.rdd.RDD coalesce函数: 方法注释: Return a new RDDthat is r...
  • Dax1n
  • Dax1n
  • 2016年12月02日 09:15
  • 4104

Spark Transformation —— coalesce

coalesce 联合,合并def coalesce(numPartitions: Int, shuffle: Boolean = false)(implicit ord: Ordering[T] =...

Learning Spark笔记7-数据分组、连接、排序数据

数据分组 一个常见的使用方式是按键分组我们的数据-例如,查看所有的客户订单。 如果我们的数据已经有key了,那么groupByKey()会使用key来分组我们的数据。在一个RDD上...

Learning Spark笔记10-PageRank

PageRank 基于Google的Larry Page命名的PageRank算法旨在根据有多少文档具有链接的方式为一组中的每个文档分配重要度(“等级”)。 它可以用于对网页进行排名,当然也...

Machine Learning With Spark学习笔记

此笔记为本人在阅读Machine Learning With Spark的时候所做的,笔记有翻译不准确或错误的地方欢迎大家指正。Spark集群Spark集群由两种进程组成:一个驱动程序和多个执行程序。...
  • LXYTSOS
  • LXYTSOS
  • 2015年07月01日 14:23
  • 3707

Learning Spark笔记4-常见的转换与动作

基本RDDs 不管数据如何,我们先将介绍一下我们可以对RDDs做哪些转换和操作 1.元素转换 这里有两个常用的转换map()和filter()。 map()转换会应用到RDD中的每个元...

Learning Spark (Python版) 学习笔记(二)----键值对、数据读取与保存、共享特性

http://www.cnblogs.com/charlotte77/p/5437639.html   本来应该上周更新的,结果碰上五一,懒癌发作,就推迟了 = =。以后还是...

Learning Spark 笔记(六) -- 指定分区信息改善join()等的操作

9 . 默认情况下,join()操作会对两个RDD的主键做哈希以分区,通过网络将主键相同的元素发送到同一台机器上,然后根据相同的主键再进行连接。例子如下:val sc = new SparkConte...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Learning Spark 笔记(五) -- coalesce、repartition
举报原因:
原因补充:

(最多只允许输入30个字)