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

网站建设杭州公司软件商城下载

网站建设杭州公司,软件商城下载,企业网站特点,企业文化经典句子背景 本文基于Spark 3.1.1 目前在做一些知识回顾的时候#xff0c;发现了一些很有意思的事情#xff0c;就是Spark UI中ShuffleExchangeExec 的dataSize和shuffle bytes written指标是不一样的#xff0c; 那么在AQE阶段的时候#xff0c;是以哪个指标来作为每个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 writeMetricsdataSize指标来自于哪里 涉及到datasize的数据流是怎么样的如下一切还是得从ShuffleMapTask这个shuffle的起始操作讲起 ShuffleMapTask||\/ runTask||\/ dep.shuffleWriterProcessor.write //这里的shuffleWriterProcessor是来自于 ShuffleExchangeExec中的createShuffleWriteProcessor||\/ writer.write() //这里是writer 是 UnsafeShuffleWriter类型的实例||\/ insertRecordIntoSorter||\/ UnsafeRowSerializerInstance.writeValue||\/ dataSize.add(row.getSizeInBytes) 这里的 row 是UnsafeRow的实例这样就获取到了实际内存中的每个分区的大小, 而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.hkea.cn/news/14317484/

相关文章:

  • 零基础做地方门户网站深圳网站建设维护
  • 营销型企业网站模板免费域名解析网站建设
  • 网站图片上传代码做网站为什么要用php框架
  • 网站的实现怎么写棋牌app开发需要多钱
  • 青岛建设房地产招聘信息网站百度如何把网站做链接
  • 分享设计作品网站网络代运营公司
  • 遵义网站开发哪家便宜大数据和网站开发
  • 宁波网站优化找哪家莱芜网站建设与管理
  • 网站做视频在线观看网址wordpress page模板页
  • 网站公司怎么做推广方案深圳航空股份有限公司
  • 饰品企业网站建设哪家公司做网站便宜
  • 自己建的网站能用吗seo优化6个实用技巧
  • 做可视化图表的网站大型企业名录查询
  • 地产网站建设公司wordpress的介绍
  • 盗号网站怎么做自己网站开发
  • 自助模块化网站建设哪个网站内链建设好
  • 高密市建设局网站如何得到网站后台权限
  • 沧州商城网站开发设计苏州搜索引擎排名优化商家
  • 网站app用什么语言开发如何做自己的视频网站
  • 怎样制作一个自己的网页呢上海网络优化方法
  • 云南手机网站制作怎么建设自己的论坛网站
  • 济宁网站建设公司筑久建筑工程有限公司
  • wordpress怎么设置跳站外链接做织梦网站时图片路径显示错误
  • 湖南长沙网站制作成年人夜大
  • 工艺品网站模版企业宣传网站建设模板
  • 最专业的网站建设收费广西壮锦网站建设策划书
  • 东莞做展示网站的公司tp类似wordpress
  • 2017做哪些网站能致富网络营销是什么营销
  • 青岛做网站建设价格低哪里做网站
  • 旅游网站源码 wordpress模板 v1.0sae 网站备案