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

上海知名的网站建设免费开网店的平台有哪些

上海知名的网站建设,免费开网店的平台有哪些,w3school,个人可以注册网站吗背景 本文基于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.yayakq.cn/news/235479/

相关文章:

  • 重庆自助建站系统哪家好wordpress调用 自定义php代码
  • 做免费互动小游戏的网站做仿站如何修改网站管理权限
  • 乐清网站制作推荐房山企业网站建设公司
  • 免费推广网站有哪些有哪些微信小程序个人中心制作
  • 网站建设前分析实体店做团购有那些网站
  • 网站开发毕业设计开课题目海曙区建设局网站
  • 湖北交投建设集团集团网站设计工作室名字大全
  • 网上做二建题那个网站好安微凤阳县建设局网站
  • 网站建设与架构男友实验农业企业网站建设流程
  • 营销网站网站安全风险评估报告
  • 官方网站做自适应好还是响应式win10系统可以做网站搭建
  • 高端定制站开发搜索关键词推荐
  • 首钢建设公司网站金蝶erp软件
  • 金华网站建设制作国外ps素材网站
  • 怎样做电子商务网站修改wordpress登录背景图
  • 网站群建设规范wordpress 下载数据表插件
  • 商务网站建设实训过程建设企业网站多少钱
  • 惠州市惠城区建设局网站做网站哪家最便宜
  • 手机端网站建设广告词wordpress手机滑动导航菜单
  • 大连网站建设过程网站推广公司电话
  • 网站建设开票税率网站开发规划书
  • 个人如何开网站张家港企业网站
  • 案例学——网页设计与网站建设室内设计3d模型素材网站
  • 惠州网站建设哪家强互联网推广营销都选隐迅推
  • 龙门惠州网站建设做导购网站有哪些
  • php企业网站 源码品牌网站建设渠道
  • 功能类网站狗贩子怎么做网站卖狗
  • 南京做网站seowordpress怎么添加接口
  • 网站建设项目安排计划表东道设计公司官网招聘
  • 石家庄晋州网站建设wordpress贴心插件