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

做网站用盗版PSwordpress 总提示更新

做网站用盗版PS,wordpress 总提示更新,html网页制作期末大作业成品,plone vs wordpress目录 1.说明 1.1 什么是累加器 1.2 累加器的功能 2. 使用累加器 3. 累加器和reduce、fold算子的区别 1.说明 1.1 什么是累加器 累加器是Spark提供的一个共享变量(Shared Variables) 默认情况下#xff0c;如果Executor节点上使用到了Driver端定义的变量(通过算子传…目录 1.说明 1.1 什么是累加器 1.2 累加器的功能 2. 使用累加器 3. 累加器和reduce、fold算子的区别 1.说明 1.1 什么是累加器 累加器是Spark提供的一个共享变量(Shared Variables)     默认情况下如果Executor节点上使用到了Driver端定义的变量(通过算子传递)     算子会将该变量的副本发送的每个Task任务但是并不会将Task任务对副本变量的修改返回给Driver端     但是Spark为我们提供了一个共享变量(累加器)允许Driver端和Task之间共享一个变量 1.2 累加器的功能 累加器用来将Executor端变量的信息聚合到Driver端     在Driver程序中定义的变量在Executor端的每个Task都会得到这个变量的一个新的副本每个Task更新这些副本的值以后会再返回给Driver端进行merge得到最终的值 2. 使用累加器 spark中为我们提供了三个常用的累加器并且支持我们根据自己业务需求来实现自定义累加器类 代码示例 test(使用spark自带的累加器) {// 初始化 spark配置实例val sparkconf: SparkConf new SparkConf().setMaster(local[4]).setAppName()// 初始化 spark环境对象val sc: SparkContext new SparkContext(sparkconf)/** TODO 使用 LongAccumulator* 功能:* 对 整数类型的元素做累加* */val intRdd: RDD[Int] sc.makeRDD(List(1, 2, 2, 3, 3, 4, 5, 6, 7, 8, 9))val accum: LongAccumulator sc.longAccumulator(My LongAccumulator)intRdd.foreach(x accum.add(x))println(sLongAccumulator${accum.value})/** TODO 使用 DoubleAccumulator* 功能:* 对 浮点类型的元素做累加** */val doubleRdd: RDD[Double] sc.makeRDD(List(1.1, 2.1, 3.1, 4.1, 5.1, 6.1, 7.1, 8.1, 9.1))val doubleAccumulator: DoubleAccumulator sc.doubleAccumulator(My DoubleAccumulator)doubleRdd.foreach(x doubleAccumulator.add(x))println(sDoubleAccumulator${doubleAccumulator.value})/** TODO 使用 CollectionAccumulator* 将元素添加到list中去* */val collectAccumulator: CollectionAccumulator[Int] sc.collectionAccumulator[Int](My )intRdd.foreach(x collectAccumulator.add(x))println(sCollectionAccumulator${collectAccumulator.value})/** TODO 使用自定义累加器* 将元素添加到Set中去** 实现步骤* 1.根据业务逻辑实现自定义累加器实现类* 2.向spark环境中注册自定义累加器* 3.使用自定义累加器** */val setAccumulator new SetAccumulator[Int]()sc.register(setAccumulator, My SetAccumulator)intRdd.foreach(x setAccumulator.add(x))println(sSetAccumulator${setAccumulator.value})sc.stop()}自定义累加器 /* * 自定义累加器 * TODO 并未考虑线程安全的问题实际使用时需添加这部分的判断 * * */ class SetAccumulator[T] extends AccumulatorV2[T, collection.mutable.Set[T]] {/* 定义可变Set */var set collection.mutable.Set[T]()/* 判断 累加器是否为初始状态 */override def isZero: Boolean set.isEmpty/** 获取当前累加器的 新副本* 每个变量(累加器)的副本会发送到每个Task* */override def copy(): AccumulatorV2[T, mutable.Set[T]] new SetAccumulator/** 重置累加器(清空累加器)* */override def reset(): Unit Nil/** TODO 分区内累加规则(Task内)* 获取数据并进行累加* 根据指定的规则,向累加器中添加元素* */override def add(v: T): Unit {set v}/** TODO 分区间累加规则* 合并多个累加器副本* */override def merge(other: AccumulatorV2[T, mutable.Set[T]]): Unit {this.value other.value}override def value: mutable.Set[T] set }执行结果 3. 累加器和reduce、fold算子的区别 重点关注       1.累加器并不是调优操作并不会带来效率上的提升       2.累加器在Executor端做add操作(累加器副本做更新)在Driver端做merge操作(合并多个Task中的累加器副本) 示例代码 test(对比累加器和reduce、fold算子效率问题) {/** TODO 思考: 累加器和reduce、fold算子的区别* */// 初始化 spark配置实例val sparkconf: SparkConf new SparkConf().setMaster(local[4]).setAppName()// 初始化 spark环境对象val sc: SparkContext new SparkContext(sparkconf)val intRdd sc.makeRDD(List(1, 2, 3, 4, 5, 6, 7, 8, 9))// 查看每个分区的内容intRdd.mapPartitionsWithIndex((i, iter) {println(s分区编号$i :${iter.mkString( )});iter}).collect()val accum: LongAccumulator sc.longAccumulator(My Accumulator)intRdd.foreach(x accum.add(x))println(s累加器结果${accum.value})println(----reduce算子----------------------)val resultByReduce intRdd.reduce((v1, v2) {println(s$v1 $v2 ${v1 v2})v1 v2})println(sreduce算子结果${resultByReduce})println(----reduce算子----------------------)val resultByFlod intRdd.fold(0)((v1, v2) {println(s$v1 $v2 ${v1 v2})v1 v2})println(sresultByFlod${resultByFlod})while (true) {}// http://localhost:4040/stages/stage/?id1attempt0sc.stop()}执行结果 累加器并未对计算效率带来提升  参考链接 传送门1 传送门2 官网链接
http://www.w-s-a.com/news/708144/

相关文章:

  • 泰兴住房和城乡建设厅网站福州app开发
  • 免费制作公司网站seo前线
  • 导购网站怎么推广有网站源码怎么搭建网站
  • 网站开发问题杭州制作公司网站
  • 网站推广seo是什么wordpress 去除顶部
  • 建筑学不会画画影响大吗电子商务沙盘seo关键词
  • 重庆网站建设找承越上海建设工程招投标网
  • 网站建设四个步骤下单的网站建设教程
  • 网站建设合同的验收表响应式网站建设哪家好
  • 手机网站建设视频长沙百家号seo
  • 网站未备案怎么访问网站开发前端需要学什么
  • 正黄集团博弘建设官方网站wordpress设置固定链接和伪静态
  • wordpress 建网站视频如何实现网站生成网页
  • 杭州品牌网站建设推广个人的网站建设目标
  • 济南有哪些网站是做家具团购的贸易公司自建免费网站
  • wap网站psd成立公司在什么网站
  • 网站建设婚恋交友聊城网站建设费用
  • 沈阳网站建设联系方式尉氏县金星网架公司
  • 医院网站建设实施方案基础微网站开发信息
  • 网站建设开发服务费记账百度指数搜索
  • 网站建设备案流程windows优化大师有必要安装吗
  • 怎么网站定制自己做网站卖视频
  • 网站开发二线城市网站制作过程中碰到的问题
  • 最好网站建设公司制作平台小程序开发教程资料
  • 陕西省高速建设集团公司网站国内做会展比较好的公司
  • 建设学校网站的原因网页设计实训报告1500
  • 网站建设客户来源江门网站设计华企立方
  • 自己如何做棋牌网站宁波网络推广优化方案
  • 深圳招聘网站推荐seo网站推广方案
  • 彩票网站开发 合法学术会议网站建设