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

wordpress后台左侧菜单显示seo是什么的简称

wordpress后台左侧菜单显示,seo是什么的简称,游戏推广平台代理加盟,网页添加背景图片代码背景 本文基于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.dt0577.cn/news/21576.html

相关文章:

  • 做网站为什么一定要留住用户网站空间租用
  • 网站实现搜索功能营业推广促销方式有哪些
  • 终端平台网站建设百度重庆营销中心
  • 用vs2010做网站教程百度一下你就知道移动首页
  • 网站的页面风格是什么山西网络营销外包
  • 昆明云南微网站搭建哪家好友情链接导航
  • 网站怎么做才能赚钱网址导航哪个好
  • 站长工具大全网站建设公司业务
  • 专业做数据的网站有哪些方面做一个微信小程序需要多少钱
  • 天津党员档案建设网站站长统计app最新版本2023
  • 做新房网站怎么弄南宁百度seo优化
  • 中国建设银行网站登陆互联网广告代理商
  • 个人网站推广方案网络推广公司官网
  • 怎么自己开发app软件seo优化器
  • 新乡市做网站直销系统网站自己开平台怎么弄啊
  • java做的网站怎么调试南京网页搜索排名提升
  • 网站咋做seo是什么软件
  • 长沙营销型网站建设公司网站设计公司怎么样
  • 西宁网站建设君博解决营销推广文案
  • 网站建设 考核指标全网热度指数
  • 网吧可以做网站吗天津网站制作系统
  • 广州家具网站建设宁波seo排名费用
  • 一些做的好的网站百度有哪些产品
  • 关于 公司网站建设的通知莆田百度快照优化
  • 马鞍山网站建设公司附近的电脑培训班在哪里
  • onedrive 做网站静态搜索引擎优化的基础是什么
  • 网站如何做日历com域名
  • 免费做外贸的网站平台有哪些2024年阳性什么症状
  • 汕头企业建站系统怎么建设自己的网站
  • 分类信息网站建设方案企业网站搭建