当前位置: 首页 > news >正文

那几个网站可以做h5网站建设中的推广工作

那几个网站可以做h5,网站建设中的推广工作,网站建设素材收集通知,哈尔滨专业网站建设公司一、RDD 分区器简介 Spark 分区器的父类是 Partitioner 抽象类分区器直接决定了 RDD 中分区的个数、RDD 中每条数据经过 Shuffle 后进入哪个分区#xff0c;进而决定了 Reduce 的个数只有 Key-Value 类型的 RDD 才有分区器#xff0c;非 Key-Value 类型的 RDD 分区的值是 No…一、RDD 分区器简介 Spark 分区器的父类是 Partitioner 抽象类分区器直接决定了 RDD 中分区的个数、RDD 中每条数据经过 Shuffle 后进入哪个分区进而决定了 Reduce 的个数只有 Key-Value 类型的 RDD 才有分区器非 Key-Value 类型的 RDD 分区的值是 None每个 RDD 的分区索引的范围0~(numPartitions - 1) 二、HashPartitioner 默认的分区器对于给定的 key计算其 hashCode 并除以分区个数取余获得数据所在的分区索引 class HashPartitioner(partitions: Int) extends Partitioner {require(partitions 0, sNumber of partitions ($partitions) cannot be negative.)def numPartitions: Int partitionsdef getPartition(key: Any): Int key match {case null 0case _ Utils.nonNegativeMod(key.hashCode, numPartitions)}override def equals(other: Any): Boolean other match {case h: HashPartitioner h.numPartitions numPartitionscase _ false}override def hashCode: Int numPartitions }三、RangePartitioner 将一定范围内的数据映射到一个分区中尽量保证每个分区数据均匀而且分区间有序 class RangePartitioner[K: Ordering: ClassTag, V](partitions: Int, rdd: RDD[_ : Product2[K, V]], private var ascending: Boolean true) extends Partitioner {// We allow partitions 0, which happens when sorting an empty RDD under the default settings.require(partitions 0, sNumber of partitions cannot be negative but found $partitions.)private var ordering implicitly[Ordering[K]]// An array of upper bounds for the first (partitions - 1) partitionsprivate var rangeBounds: Array[K] {...}def numPartitions: Int rangeBounds.length 1private var binarySearch: ((Array[K], K) Int) CollectionsUtils.makeBinarySearch[K]def getPartition(key: Any): Int {val k key.asInstanceOf[K]var partition 0if (rangeBounds.length 128) {// If we have less than 128 partitions naive searchwhile(partition rangeBounds.length ordering.gt(k, rangeBounds(partition))) {partition 1}} else {// Determine which binary search method to use only once.partition binarySearch(rangeBounds, k)// binarySearch either returns the match location or -[insertion point]-1if (partition 0) {partition -partition-1}if (partition rangeBounds.length) {partition rangeBounds.length}}if (ascending) {partition} else {rangeBounds.length - partition}}override def equals(other: Any): Boolean other match {...}override def hashCode(): Int {...}throws(classOf[IOException])private def writeObject(out: ObjectOutputStream): Unit Utils.tryOrIOException {...}throws(classOf[IOException])private def readObject(in: ObjectInputStream): Unit Utils.tryOrIOException {...} }四、自定义 Partitioner /**1.继承 Partitioner 抽象类2.重写 numPartitions: Int 和 getPartition(key: Any): Int 方法 */ object TestRDDPartitioner {def main(args: Array[String]): Unit {val conf new SparkConf().setMaster(local[*]).setAppName(partition)val sc new SparkContext(conf)val rdd sc.makeRDD(List((nba, xxxxxxxxxxx),(cba, xxxxxxxxxxx),(nba, xxxxxxxxxxx),(ncaa, xxxxxxxxxxx),(cuba, xxxxxxxxxxx)))val partRdd rdd.partitionBy(new MyPartitioner)partRdd.saveAsTextFile(output)} }class MyPartitioner extends Partitioner {// 重写返回分区数量的方法override def numPartitions: Int 3// 重写根据数据的key返回数据所在的分区索引的方法override def getPartition(key: Any): Int {key match {case nba 0case cba 1case _ 2}}}
http://www.dnsts.com.cn/news/228113.html

相关文章:

  • 网站栏目一般有哪些网站如何设计方案
  • 中山祥云做的网站怎么样百度百科十大广告投放平台
  • 大型电子商务网站开发架构旅游网站开发说明
  • 手机怎么做网站教程张家界建设局网站电话号码
  • 哪个网站公司做的好石家庄专门做网站
  • 南昌县城乡规划建设局官方网站技术支持 湖北网站建设
  • 新版织梦腾讯3366小游戏门户网站模板源码网站的基本价格
  • 做自己的网站logo网页设计流程要怎么写
  • 服务 信誉好的网站制作企业网站建设要注意什么
  • 网站建设山东公司做网站跟桌面程序差别大吗
  • 网站建设 部署与发布 答案wordpress动态图
  • 微博建网站包装设计公司哪家好
  • 我的世界做图片网站做网站不用数据库可以吗
  • 备案 添加网站贵阳网站建设设计公司哪家好
  • 做猎头要用的网站知乎装修设计软件网页版
  • 教做家庭菜的网站免费网站怎么申请
  • 北京市门头沟有没有做网站的哈尔滨公众号制作
  • 厦门人才网官方网站做电脑网站手机能显示不出来
  • 网站服务器怎么更换彩票网站是怎么做的
  • 视频网站做app还是h5WordPress修改前端
  • 做网站什么硬盘好域名代理商
  • 免费发广告帖子的网站保险理财网站建设
  • 采用模版建网站的缺点有没有免费网站建设
  • 厦门专业网站建设代理桂林两江四湖景区
  • 网站建设资金投入分析进入百度
  • 榆林网站建设2345网址导航桌面版
  • 常州网站制作信息化建设办公室网站
  • 网站建设常用的6大布局加代码vi系统设计
  • 佛山 网站开发萧山好的做网站的公司
  • 专业网站开发哪里有免费好用wordpress主题