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

广告图片 海报关键词优化的方法有哪些

广告图片 海报,关键词优化的方法有哪些,wordpress远程唤醒,备案网站可以做论坛么背景 本文基于Spark 3.1.1 目前在做一些知识回顾的时候,发现了一些很有意思的事情,就是Spark UI中ShuffleExchangeExec 的dataSize和shuffle bytes written指标是不一样的, 那么在AQE阶段的时候,是以哪个指标来作为每个Task分区大…

背景

本文基于Spark 3.1.1
目前在做一些知识回顾的时候,发现了一些很有意思的事情,就是Spark UI中ShuffleExchangeExec 的dataSize和shuffle bytes written指标是不一样的,
那么在AQE阶段的时候,是以哪个指标来作为每个Task分区大小的参考呢

结论

先说结论 dataSzie指标是 是存在内存中的UnsafeRow 的大小的总和,AQE阶段(规则OptimizeSkewedJoin/CoalesceShufflePartitions)用到判断分区是否倾斜或者合并分区的依据是来自于这个值,
shuffle bytes written指的是写入文件的字节数,会区分压缩和非压缩,如果在开启了压缩(也就是spark.shuffle.compress true)和未开启压缩的情况下,该值的大小是不一样的。
开启压缩如下:
在这里插入图片描述
未开启压缩如下:
在这里插入图片描述

先说杂谈

这两个指标的值都在 ShuffleExchangeExec中:

case class ShuffleExchangeExec(override val outputPartitioning: Partitioning,child: SparkPlan,shuffleOrigin: ShuffleOrigin = ENSURE_REQUIREMENTS)extends ShuffleExchangeLike {private lazy val writeMetrics =SQLShuffleWriteMetricsReporter.createShuffleWriteMetrics(sparkContext)private[sql] lazy val readMetrics =SQLShuffleReadMetricsReporter.createShuffleReadMetrics(sparkContext)override lazy val metrics = Map("dataSize" -> SQLMetrics.createSizeMetric(sparkContext, "data size")) ++ readMetrics ++ writeMetrics

dataSize指标来自于哪里

涉及到datasize的数据流是怎么样的如下,一切还是得从ShuffleMapTask这个shuffle的起始操作讲起:

ShuffleMapTask||\/
runTask||\/
dep.shuffleWriterProcessor.write //这里的shuffleWriterProcessor是来自于 ShuffleExchangeExec中的createShuffleWriteProcessor||\/
writer.write()  //这里是writer 是 UnsafeShuffleWriter类型的实例||\/
insertRecordIntoSorter||\/
UnsafeRowSerializerInstance.writeValue||\/
dataSize.add(row.getSizeInBytes)

这里的 rowUnsafeRow的实例,这样就获取到了实际内存中的每个分区的大小,
而ShuffleMapTask runTask 方法最终返回的是MapStatus,而该MapStatus最终是在UnsafeShuffleWriter的closeAndWriteOutput方法中被赋值的:

void closeAndWriteOutput() throws IOException {assert(sorter != null);updatePeakMemoryUsed();serBuffer = null;serOutputStream = null;final SpillInfo[] spills = sorter.closeAndGetSpills();sorter = null;final long[] partitionLengths;try {partitionLengths = mergeSpills(spills);} finally {for (SpillInfo spill : spills) {if (spill.file.exists() && !spill.file.delete()) {logger.error("Error while deleting spill file {}", spill.file.getPath());}}}mapStatus = MapStatus$.MODULE$.apply(blockManager.shuffleServerId(), partitionLengths, mapId);}

shuffle bytes written指标来自哪里

基本流程和dataSize 一样,还是来自于ShuffleMapTask

ShuffleMapTask||\/
runTask||\/
dep.shuffleWriterProcessor.write //这里的shuffleWriterProcessor是来自于 ShuffleExchangeExec中的createShuffleWriteProcessor||\/
writer.write()  //这里是writer 是 UnsafeShuffleWriter类型的实例||\/
closeAndWriteOutput||\/
sorter.closeAndGetSpills() ->  writeSortedFile -> writer.commitAndGet -> writeMetrics.incBytesWritten(committedPosition - reportedPosition) -> serializerManager.wrapStream(blockId, mcs) // 这里进行了压缩||\/
mergeSpills||\/
mergeSpillsUsingStandardWriter||\/
mergeSpillsWithFileStream -> writeMetrics.incBytesWritten(numBytesWritten)||\/
writeMetrics.decBytesWritten(spills[spills.length - 1].file.length())
http://www.hrbkazy.com/news/9765.html

相关文章:

  • 做网站什么内容网站建设找哪家好
  • 广州云脑网站建设网站友情链接查询
  • wordpress边栏扩大尺寸优化设计电子版
  • 做网站订阅号深圳百度竞价托管公司
  • 创意网站建设话术免费制作自己的网站
  • 服装业网站建设的策划电商平台推广方式有哪些
  • 北京矿建建设集团有限公司 网站永久免费建站系统
  • 专门做推广的网站吗网络营销比较成功的企业
  • 网站建设维诺之星友链交易
  • 做乡镇网站南宁百度seo排名价格
  • 外贸做网站要多久做好内部搜索引擎优化
  • 给别人做网站被诉侵权百度app手机版
  • 网站做等保是什么意思磁力猫搜索引擎入口官网
  • 建设购物网站多少钱竞价出价怎么出
  • 长春国企招聘网官网sem和seo的关系
  • 网站开发运行环境怎么写长春网站建设设计
  • 北京建网站软件凡科网小程序
  • 哪家公司做移动网站百度识图查图片
  • 橡胶塑料制品公司网站建设网站建设公司seo关键词
  • 网站 谁建设谁负责百度电话客服24小时
  • 做用户名和密码网站页面如何进行网络营销推广
  • 潍坊网站设计如何创建网址
  • 站长音效策划方案网站
  • b站视频推广网站动漫推荐简述搜索引擎优化的方法
  • 南京做网站的seo优化方法网站快速排名推广渠道
  • 众筹网站平台建设常见的线下推广渠道有哪些
  • 四川省建设厅电子政务网站热门seo推广排名稳定
  • 如何在图片上添加文字做网站网络营销手段有哪些方式
  • 如何注册网站.cn上海搜索seo
  • 做vb程序的网站如何自己创建网站