Spark分区详解!DT大数据梦工厂王家林老师亲自讲解!

http://www.tudou.com/home/_79823675/playlist?qq-pf-to=pcqq.group

一、分片和分区的区别?

分片是从数据角度,分区是从计算的角度,其实都是从大的状态,split成小的。

二、spark分区理解

rdd作为一个分布式的数据集,是分布在多个worker节点上的。如下图所示,RDD1有五个分区(partition),他们分布在了四个worker nodes 上面,RDD2有三个分区,分布在了三个worker nodes上面。

三、默认分区

一般情况下,是从hdfs文件存储的block数量作为分区的大小,但有时候一条记录夸block,那么会出现多一个的情况,而且block会略大于或小于128MB。

四、重新分区

想要重新给rdd分区,分两种情况,创建 RDD 时和通过转换操作得到新 RDD 时。

对于前者,在调用 textFile 和 parallelize 方法时候手动指定分区个数即可。例如 sc.parallelize(Array(1, 2, 3, 5, 6), 2) 指定创建得到的 RDD 分区个数为 2。

对于后者,直接调用rdd.repartition方法就可以了,如果想具体控制哪些数据分布在哪些分区上,可以传一个Ordering进去。比如说,我想要数据随机地分布成10个分区,可以:

class MyOrdering[T] extends Ordering[T]{  def compare(x:T,y:T) = math.random compare math.random}

// 假设数据是Int类型的rdd.repartition(10)(new MyOrdering[Int])

实际上分区的个数是根据转换操作对应多个 RDD 之间的依赖关系来确定,窄依赖子 RDD 由父 RDD 分区个数决定,例如 map 操作,父 RDD 和子 RDD 分区个数一致;Shuffle 依赖则由分区器(Partitioner)决定,例如 groupByKey(new HashPartitioner(2)) 或者直接 groupByKey(2) 得到的新 RDD 分区个数等于 2。

转载于:https://blog.51cto.com/36006798/1872002

Spark分区详解!DT大数据梦工厂王家林老师亲自讲解!相关推荐

  1. DT大数据梦工厂 第55,56讲

    王家林亲授<DT大数据梦工厂>大数据实战视频"Scala深入浅出实战经典"视频.音频和PPT下载!第55讲:Scala中Infix Type实战详解 百度云盘:http ...

  2. DT大数据梦工厂 第51讲

    王家林亲授<DT大数据梦工厂>大数据实战视频"Scala深入浅出实战经典"视频.音频和PPT下载!第51讲:Scala中链式调用风格的实现代码实战及其在Spark编程中 ...

  3. 王家林亲授《DT大数据梦工厂》大数据实战视频“Scala深入浅出实战经典” 第46讲视频、音频和PPT下载!

    王家林亲授<DT大数据梦工厂>大数据实战视频"Scala深入浅出实战经典"视频.音频和PPT下载!第46讲: ClassTag .Manifest.ClassManif ...

  4. DT大数据梦工厂免费实战大数据视频全集 分享

    接触大数据有几年,以前一直都是对hadoop的使用.相比于日新月异的前端技术,我还是比较喜欢大数据--这个已经被热炒多年的课题,也相信从事大数据方面的技术研究是IT从业者的一条光明坦途. 2010年h ...

  5. 大数据课程培训大纲详解,大数据培训学习内容

    大数据助力成就非凡.大数据正在改变着商业游戏规则,为企业解决传统业务问题带来变革的机遇.毫无疑问,当未来企业尝试分析现有海量信息以推动业务价值增值时,必定会采用大数据技术.那么大数据培训哪家好呢?今天 ...

  6. DT大数据 scala for查询

    王家林亲授<DT大数据梦工厂>大数据实战视频"Scala深入浅出实战经典"视频.音频和PPT下载!第87讲:Scala中使用For表达式做查询 百度云盘:http:// ...

  7. 跟着王家林老师实现自己的大数据梦想

    Hadoop的出现引起大数据的浪潮来临,但是,这仅仅是大数据时代的开始,随着大数据时代的到来,大数据应用慢慢地深入我们的生活的每一个角落,我们对大数据充满无比好奇,却对他们了解的很少,生活在大数据时代 ...

  8. 大数据架构详解_【数据如何驱动增长】(3)大数据背景下的数仓建设 amp; 数据分层架构设计...

    背景 了解数据仓库.数据流架构的搭建原理对于合格的数据分析师或者数据科学家来说是一项必不可少的能力.它不仅能够帮助分析人员更高效的开展分析任务,帮助公司或者业务线搭建一套高效的数据处理架构,更是能够从 ...

  9. spark RDD详解及源码分析

    spark RDD详解及源码分析 @(SPARK)[spark] spark RDD详解及源码分析 一基础 一什么是RDD 二RDD的适用范围 三一些特性 四RDD的创建 1由一个已经存在的scala ...

最新文章

  1. 源码安装tensorflow
  2. 【Dijkstra算法】未优化版+优先队列优化版
  3. 删除logs mysql_关于删除MySQL Logs的问题记录_MySQL
  4. c++区块链实例_确定技术任务了解区块链限制 开发区块链你该做哪些准备工作?...
  5. 多媒体广告的底线在哪里
  6. 卷积层 convolutional networks
  7. Dubbo的静态服务
  8. python 提升效率_@Python 程序员,如何最大化提升编码效率?
  9. python如何并发上千个get_Python拓展21(python3X之百万并发借鉴)
  10. SSH 远程连接服务慢的解决方案
  11. 深入一步研究DNS服务器
  12. sql \n 查询_探索SQL查询提示选项(快速N)
  13. typecho运行html插件,typecho主题集成HTML压缩功能
  14. Oracle执行计划Explain Plan 如何使用
  15. (九)指向一维数组和二维数组的指针(数组指针)
  16. TCP/IP协议讲解
  17. 专访Women in AI学者黄惠:绘图形之梦,寻突破之门
  18. Xmind2021分享
  19. 外贸在谷歌搜索客户,为什么搜索出来的都是同行?
  20. python调用微信客户端_用Python编写的简化版微信客户端

热门文章

  1. 设计模式(3)--SimpleFactory( [1] 简单工厂模式)--创建型
  2. TSS ESS RSS
  3. 在数组中寻找出现次数超过数组长度一半的数
  4. 汇编语言学习之汇编语言源程序的输入
  5. iphone(苹果)手机登陆Exchange 2013邮箱帐号的配置
  6. Java零基础系列001——第一个程序
  7. 给Fedora11安装五笔
  8. 数据结构上机实践第八周项目7—对称矩阵的压缩存储及基本运算
  9. JavaScript中的面向对象--对象创建
  10. OSG仿真案例(3)——cmake创建工程