是什么?

partitioner是RDD的一个属性,默认值为None.可以被子类重写

  @transient val partitioner: Option[Partitioner] = None

有何作用?

决定RDD如何分区,就是具体的分区方式,测试一下
默认的partitioner是None

object RDDTest  extends App{val conf = new SparkConf().setAppName("wordcount").setMaster("local")val sc = new SparkContext(conf)val lines: RDD[String] = sc.textFile("D:\\tmp", 2)println(lines.partitioner)//None
}

默认的partitioner是None

object RDDTest  extends App{val conf = new SparkConf().setAppName("wordcount").setMaster("local")val sc = new SparkContext(conf)private val rdd: RDD[Int] = sc.parallelize(Array(1, 2, 3))println(rdd.partitioner)//None
}

如果是kv形式的RDD,可以重新分区,如下

object RDDTest  extends App{val conf = new SparkConf().setAppName("wordcount").setMaster("local")val sc = new SparkContext(conf)private val rdd: RDD[Int] = sc.parallelize(Array(1, 2, 3))private val value: RDD[(Int, Int)] = rdd.map((x: Int) => (x, 1)).partitionBy(new HashPartitioner(3))println(value.partitioner)//Some(org.apache.spark.HashPartitioner@3)
}

RDD partitioner入门详解相关推荐

  1. linux 日志按大小切割_nginx入门详解(六)- 日志切割

    上一章讲解了nginx的目录加密功能,本章重点介绍nginx的日志切割. 笨办法学linux:nginx入门详解(五)- 目录加密​zhuanlan.zhihu.com 在第二章,我们探讨了nginx ...

  2. python怎么安装myqr模块-python二维码操作:对QRCode和MyQR入门详解

    python是所有编程语言中模块最丰富的 生活中常见的二维码功能在使用python第三方库来生成十分容易 三个大矩形是定位图案,用于标记二维码的大小.这三个定位图案有白边,通过这三个矩形就可以标识一个 ...

  3. python语言编程基础-Python语言入门详解!快速学成Python!

    原标题:Python语言入门详解!快速学成Python! 很多技能是被职场所需要的,但很可惜... 这些技能在大学中并学习不到. 大学和职场现实存在的横沟对大部分同学来说难以跨越或碰得头破血流... ...

  4. python语言入门m-Python语言入门详解!快速学成Python!

    今日主题 "Python语言入门详解" 近两年来,Python语言借着数据科学和人工智能的"东风"成为了最流行的编程语言--街头巷尾人们口口相传.同时,Pyth ...

  5. python语言入门详解-python初级教程:入门详解

    python初级教程:入门详解 Crifan Li 目录 前言 .................................................................... ...

  6. 【GCN】图卷积网络(GCN)入门详解

    机器学习算法与自然语言处理出品 @公众号原创专栏作者 Don.hub 单位 | 京东算法工程师 学校 | 帝国理工大学 图卷积网络(GCN)入门详解 什么是GCN GCN 概述 模型定义 数学推导 G ...

  7. python符号格式化设置区间_Python 数值区间处理_对interval 库的快速入门详解

    使用 Python 进行数据处理的时候,常常会遇到判断一个数是否在一个区间内的操作.我们可以使用 if else 进行判断,但是,既然使用了 Python,那我们当然是想找一下有没有现成的轮子可以用. ...

  8. 【JSON】JSON入门详解(二)

    文章目录 JSON基础文章荐读 JavaScript创建JSON对象 JSON与XML的那些事 JSON与XML的相同之处 JSON与XML的不同之处 AJAX相关JSON与XML JSON与XML的 ...

  9. python怎么安装myqr_python二维码操作:对QRCode和MyQR入门详解

    python是所有编程语言中模块最丰富的 生活中常见的二维码功能在使用python第三方库来生成十分容易 三个大矩形是定位图案,用于标记二维码的大小.这三个定位图案有白边,通过这三个矩形就可以标识一个 ...

最新文章

  1. 深度学习的异构加速技术(一):AI 需要一个多大的“心脏”?
  2. boost::char_separator相关的测试程序
  3. Ubuntu下的第一个博客
  4. redis 延时任务 看一篇成高手系列 二
  5. 想成为BAT中的一员,你总要去学点什么(一)
  6. python数字排序 循环_【python-leetcode448-循环排序】找到所有数组中消失的数字
  7. ❀❀ 名词解释(PM、PD、UE、UI、RD....)
  8. 三维重建笔记_相机标定_求本质矩阵E
  9. Y 组合子详解 (The Y Combinator)
  10. 白盒测试工具―Winams
  11. Oracle 数据库插入时间字段
  12. 利用Pano2VR在全景图中添加视频,音频,图片
  13. lisp 圆柱螺旋线_AutoCAD.Lisp等距3D螺旋线
  14. Pytorch不同层设置不同学习率
  15. go语言的魔幻旅程28-go命令
  16. windows下hadoop安装时出现error Couldn‘t find a package.json file in “D:\\hadoop\hadoop-2.7.7\\sbin“问题
  17. Hyper-v安装虚拟机问题(持续更新)
  18. 紧随时代的步伐--Java8之Lambda表达式的使用
  19. JDK 内置命令行工具:工欲善其事,必先利其器
  20. 进服务器显示系统缓冲区空间不足,由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作--解决方法...

热门文章

  1. html变量改变结构,如何在html结构标签中使用js 变量 生成可变化的 title标题?
  2. CentOS7添加阿里云yum源
  3. thymeleaf js 动态拼接html_Thymeleaf从入门到吃灰
  4. linux下打包deb文件,制作deb包的三种方法
  5. 多级队列调度算法可视化界面_多级反馈队列调度算法
  6. 显示多文档标签_办公小技巧:用好WPS 2019文件名标签
  7. 华为hs8145v5如何改桥接_口译vlog | 跟我一起去华为东莞“欧洲小镇”吧!
  8. 云视通手机下载的文件存储位置_小白版丨IPFS网络怎么存储、下载文件?怎么托管网站?...
  9. 特征级融合_多知识图谱的融合算法探索
  10. java jvm bind解决_java web项目启动的时候JVM_Bind,真的是tomcat端口被占用了吗?tomcat不同意...