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

网站建设对接模版网站开发融资计划

网站建设对接模版,网站开发融资计划,建设网站的流程可分为哪几个阶段,11年始终专注营销型网站文章目录 预备 数据和执行语句Expand第一次HashAggregateShuffle and Second HashAggregate最后结果性能原文 预备 数据和执行语句 SELECT COUNT(*), SUM(items), COUNT(DISTINCT product), COUNT(DISTINCT category) FROM orders;假设源数据分布在两个1核的结点上#xff0… 文章目录 预备 数据和执行语句Expand第一次HashAggregateShuffle and Second HashAggregate最后结果性能原文 预备 数据和执行语句 SELECT COUNT(*), SUM(items), COUNT(DISTINCT product), COUNT(DISTINCT category) FROM orders;假设源数据分布在两个1核的结点上数据就8行 Expand spark把count distinct操作转换成count操作。 第一步是对每个要count distinct的列生成新的行这里是product和category列当然原来不需要distinct聚合的列也在。 原来items列不需要distinctproduct和category列要distinct所以数据膨胀了2倍。原来8条数据现在是8*(12)24条 spark加了gid这一列值为0代表所有非distinct聚合这里是count(*)和sum(items)值为1和2分别代表其他distinct聚合这里1代表product2代表category。 NULL是怎么赋值的对输入列来说每行只有1个非空值。在spark的物理执行计划中可以看到操作是这样的 ExpandInput: [product, category, items]Arguments: [[null, null, 0, items],[product, null, 1, null],[null, category, 2, null]]第一次HashAggregate Spark使用所有count distinct的列和gid作为关键字product、category和gid对行进行局部散列并对非distinct的聚合count*和SUMitems执行局部局部聚合 相当于执行了select product,category,gid,count(*) cnt,sum(items) items from 膨胀后的表 group by product,category,gid 这可以使得膨胀后的数据变小。 如果不同值的数量比较少减少的数据是相当可观的最终结果可能比原始数据还要少。 可以看到原来每个结点上有4行膨胀后是12行局部聚合后变成了6行。 Shuffle and Second HashAggregate 在每个结点内部HashAggregate后经过shuffle后变成这样 重新再每个结点做局部shuffle得到 相当于执行了select product,category,gid,count(*) cnt,sum(items) items from 膨胀后的表 group by product,category,gid 这一步使得所有键都变成了唯一的。 最后结果 现在所有行可以合并成一个partition再次HashAggregation但这次不用group by product, category和gid 现在再也没有重复值了简单的count和根据gid筛选就可以得到想要的count distinct结果 cnt FILTER (WHERE gid 0),sum FILTER (WHERE gid 0),COUNT(product) FILTER (WHERE gid 1),COUNT(category) FILTER (WHERE gid 2) Result: COUNT(*): 8SUM(items): 120COUNT(DISTINCT product): 4COUNT(DISTINCT category): 2性能 如果不同值的数量比较少那么即使膨胀后最后要shuffle的行也很少这样因为spark局部聚合的原因count distinct是相对比较快的如果不同值的数量很多并且你在一个语句中使用多个count distinct对不同的列。那么要shuffle行因为膨胀会很多局部聚合也不能有效遏制数据的膨胀那么要让查询语句成功执行需要消耗更多的executor内存。 原文 Distributed COUNT DISTINCT – How it Works in Spark, Multiple COUNT DISTINCT, Transform to COUNT with Expand, Exploded Shuffle, Partial Aggregations – Large-Scale Data Engineering in Cloud (cloudsqale.com)
http://www.dnsts.com.cn/news/262280.html

相关文章:

  • 暖通设计网站推荐可信网站认证代理
  • 电子商务网站设计思路上海建筑企业
  • 重庆免费自助建站模板静态网站开发步骤
  • 免费cms网站wordpress输入密码访问
  • 做服装广告素材网站无锡建设信息中心网站
  • 刚做的网站怎么想设计一个自己的logo
  • 网站新媒体建设网站建设报价包括哪些
  • 百斯特网站建设珠海建网站价格
  • 网站建设的搜索语句wordpress评论框函数
  • 新闻聚合网站开发免费下载ppt模板的软件
  • 宁化网站建设网站设计部的优化
  • 站酷app网站怎么上传ftp
  • 网站内部优化策略个人网站备案多少钱
  • 怎样做多商户网站wordpress rt 17主题
  • 网站首页缩略图 seo怀化网站建设网站
  • 国外网站 设计租用服务器
  • 建设工程合同印花税计税依据百度seo优化方案
  • 建设部网站建造师公示嘉兴seo网站建设费用
  • 网站建设倒计时单页源码中国有哪些企业
  • 网站seo竞争分析工具呼市网站seo优化工资提成怎么算
  • 北京网站优化常识网站开发获客渠道
  • 个人音乐网站源码搭建国税局网站里打印设置如何做
  • 坪山网站建设代理商做pc端网站流程
  • 深圳建设监理协会网站山东网站建站系统平台
  • App加网站什么做东莞广告设计公司排名
  • 重庆招工招聘信息查询seo推广优化工具
  • 深圳网站建设熊掌号如何做盗版电影网站
  • 国外设计网站d开头的商标注册网上申请流程25个步骤
  • 上海企业建站费用建设假网站
  • 浪潮做网站建设吗潍坊专业做网站的公司