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

wordpress为什么防不住垃圾ip哈尔滨企业网站seo

wordpress为什么防不住垃圾ip,哈尔滨企业网站seo,用dreammwea怎么做视频网站,网站前台后台哪个好目录 概述动态调整Join策略原理实战 动态优化倾斜的 Join原理实战 概述 broadcast hash join 类似于 Spark 共享变量中的广播变量,Spark join 如果能采取这种策略,那join 的性能是最好的 自适应查询AQE(Adaptive Query Execution) 动态调整Join策略 原…

目录

  • 概述
  • 动态调整Join策略
    • 原理
    • 实战
  • 动态优化倾斜的 Join
    • 原理
    • 实战

概述

broadcast hash join 类似于 Spark 共享变量中的广播变量,Spark join 如果能采取这种策略,那join 的性能是最好的

  • 自适应查询AQE(Adaptive Query Execution)
    • 动态调整Join策略
      • 原理
      • 实战
    • 动态优化倾斜的 Join
      • 原理
      • 默认环境配置
      • 修改配置

动态调整Join策略

实际上在生产中,特别是工厂中的局限性,表设计的时候,不是那么合理,导致这这种情况,很少见,很难被调整。

原理

AQE 可以将 sort-merge join 转成 broadcast hash join ,条件是当join 表小于自适应 broadcast hash join 的阀值。
开启了自适应查询执行机制之后,可以在运行时根据最精确的数据指标重新规划join策略,实现动态调整join策略。
看以下图:
在这里插入图片描述
后续测试过程中,可以看 spark sql 的执行图。

属性名称默认值解释版本
spark.sql.adaptive.localShuffleReader.enabledtrue当值为true,且spark.sql.adaptive.enabled也为true时,Spark尝试不需要shuffle分区时,使用本地的shuffle读取器读取shuffle数据,例如:在将 sort-merge 转换成 broadcast-hash join 之后3.0.0
spark.sql.adaptive.autoBroadcastJoinThreshold(none)为表配置最大的字节数,能优化成 broadcast join,通过设置此配置为-1,可以禁用 broadcast ,默认值与 spark.sql.autoBroadcastJoinThreshold 相同3.2.0
spark.sql.autoBroadcastJoinThreshold10MB同上1.1.0

当所有的 shuffle partitions 都小于阀值, AQE 将 sort-merge join 转成 shuffled hash join ;最大阀值配置:spark.sql.adaptive.maxShuffledHashJoinLocalMapThreshold

属性名称默认值解释版本
spark.sql.adaptive.maxShuffledHashJoinLocalMapThreshold0为每个分区配置最大的字节数,能够构建 local hash map,如果这个值不小于 spark.sql.adaptive.maxShuffledHashJoinLocalMapThreshold并所有的分区不大于这个配置,join选择更倾向于使用 shuffled hash join,而不是 sort merge join3.2.0

实战

执行的 sql

select count(*) from xx where dt ='2023-06-30' and workorder='011002118525' ;
## 同样的表相连
select * from (select * from xx  where dt ='2023-06-30' and workorder='011002118525') as a
left join  xx as b  on b.dt ='2023-06-30' and b.workorder='011002118525' and  a.id = b.id  ;

在这里插入图片描述
由上图,三百多万的数据,肯定超过10MB了,所以是 sort merge join
在这里插入图片描述
在这里插入图片描述
修改 sql 如下:

select	* from (select id from xx where dt = '2023-06-30' and workorder='011002118525' ) as a join xx as b on a.id = b.id and b.dt = '2023-06-30' and b.unitid = 'H8TGWJ035ZY0000431';

在这里插入图片描述

动态优化倾斜的 Join

原理

数据倾斜严重,将严重影响 join 查询的性能。该功能动态处理在 sort-merge join 倾斜数据时,将其分为大小差不多的任务。当同是启用 spark.sql.adaptive.enabledspark.sql.adaptive.skewJoin.enabled 时,动态优化倾斜 这个功能将生效。

属性名称默认值解释版本
spark.sql.adaptive.skewJoin.enabledtrue当同是启用 spark.sql.adaptive.enabled动态优化倾斜 这个功能将生效3.0.0
spark.sql.adaptive.skewJoin.skewedPartitionFactor5如果分区的大小大于此因子乘以分区大小的中值,并且也大于spark.sql.adaptive.skewJoin.strakedPartitionThresholdInBytes,则该分区被视为偏斜。3.2.0
spark.sql.adaptive.skewJoin.skewedPartitionThresholdInBytes256MB如果分区的字节大小大于此阈值,并且也大于spark.sql.adaptive.skewJoin.strakedPartitionFactor乘以分区大小中值,则该分区被视为偏斜。理想情况下,此配置应设置为大于spark.sql.adaptive.advisoryPartitionSizeInBytes3.0.0

假设有两个表 t1t2,其中表t1中的P0分区里面的数据量明显大于其他分区,默认的执行情况是这样的,看这个图:
在这里插入图片描述

t1表中p0分区的数据比p1\p2\p3这几个分区的数据大很多,可以认为t1表中的数据出现了倾斜
当t1和t2表中p1、p2、p3这几个分区在join的时候基本上是不会出现数据倾斜的,因为这些分区的数据相对适中。但是P0分区在进行join的时候就会出现数据倾斜了,这样会导致 join 的时间过长

动态优化倾斜的 join 机制会把P0分区切分成两个子分区P0-1和P0-2,并将每个子分区关联到表t2的对应分区P0,看这个图:
在这里插入图片描述
t2表中的P0分区会复制出来两份相同的数据,和t1表中切分出来的P0分区的数据进行 join 关联。
这样相当于就把t1表中倾斜的分区拆分打散了,最终在 join 的时候就不会产生数据倾斜了。

实战

todo: 以后如果遇到,再补充上

http://www.shuangfujiaoyu.com/news/58349.html

相关文章:

  • 怎样做禁毒网站今日热榜
  • 广州最好的商城网站制作注册域名查询网站官网
  • 自己怎么建立自己的国际网站seo手机优化软件哪个好用
  • 南京图文广告公司5g网络优化
  • 国外手机主题网站seo站长工具查询
  • 制作手机网站建设免费网络推广平台有哪些
  • 工程师报考网站企业推广宣传方案
  • 网站的音乐链接怎么做网络营销教程
  • html网站引导页模板su搜索引擎优化
  • 怎么做自动提卡网站怎么建网站平台卖东西
  • 淘宝找做网站优化排名工具
  • 为什么小城市做不出来好的网站百度人气榜排名
  • 网站提交百度收录企业门户网站模板
  • 自己做的微课上传到哪个网站久久seo正规吗
  • 互助网站建设百度网址怎么输入?
  • 用dw设计网站模板下载地址百度seo服务方案
  • 高权重网站怎么做焊工培训
  • seo 网站文案模板黄页网站推广公司
  • 深圳做网站商四川seo整站优化
  • 新网站备案查询口碑营销
  • 游戏网站开发有限公司2020国内搜索引擎排行榜
  • 淘宝客如何做免费的网站软文代写接单平台
  • 湖州网站建设公司企业seo顾问服务阿亮
  • 宝山做手机网站建设网站建设制作教程
  • 响应式企业网站设计与实现网页游戏推广平台
  • 北京h5网站建设平台如何做优化排名
  • 营销建设网站制作手机端网站排名
  • linux系统如何做网站搜索关键词排名一般按照什么收费
  • 网站建设ftp软件千锋教育学费多少
  • 河北省招标投标信息网优化手机流畅度的软件