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

视频网站设计电子商务网站建设

视频网站设计,电子商务网站建设,手机免费平面设计软件,杭州网站开发培训数据倾斜定义:顾名思义,就是大量相似或相同数据聚集在一个块的节点里,导致计算和资源分配不均导致的计算缓慢(长尾)问题。 数据倾斜原因: count(distinct field) group by NULL 空值 Shuffle (概率最…

数据倾斜定义:顾名思义,就是大量相似或相同数据聚集在一个块的节点里,导致计算和资源分配不均导致的计算缓慢(长尾)问题。

数据倾斜原因:

count(distinct field)

group by 

NULL 空值

Shuffle (概率最高、发生最普遍的数据倾斜问题,本文重点讲述这个)

###################################################

先说解决方案:

1.相同值打散

各个论坛、博文写的最多的一种,最好理解的,对于NULL、空字符串、等可以找到的值,加rand打散。

concat_ws('_',field,rand())
重点关注 concat和 concat_ws 的区别是什么,面试和开发中的坑 经常遇见。

2.全局打散

主要解决的场景是大表和大表进行关联Join,注意如果是小表的话,直接mapjoin 采用广播即可解决。

大表和大表全局打散的思路:就是对左表(假设左表键倾斜)进行rand打散,本例举例10倍(注意这里还有优化空间,就是方法三),对右表进行explode,行转列,膨胀10倍。代码实操:

3.局部打散

局部打散主要解决超大的两张进行关联,在公司某搜索场景下,A、B表为不固定倾斜键,百亿和十亿的数据计算,为提升性能,特封装此方法。查找倾斜键,并只对倾斜键进行膨胀,如果膨胀10倍,注意右表是11倍的行转列。

# 伪代码:不理解可以再提问
select A.window_nums,
R.uid_concat
from (select case when replierUid ='0' or replierUid is null then rand()when window_nums > 100000  then concat_ws('_',replierUid,cast(ceiling(rand() * 10) as int))from(select row_number() over(partition by if(replierUid ='0',rand(),replierUid) order by aid) as window_numsfrom table_a) A1
) A left outer join(select *,concat_ws('_',uid, rand_num) as uid_concatfrom R lateral view explode(getGenergeCode(10)) tmp_tbl as rand_numunion allselect *,null,concat_ws('_',uid) as uid_concatfrom R
) R ON (A.touid_concat =R.uid_concat)
  /*** 输入* @author :费元星* @param key 输入数值* @return 返回容积为数值大小,步长为1的数组* @Demo : spark.udf.register("getGenergeCode", DataCenterUtils.getGenergeCode _)*/def getGenergeCode(key: Int): Array[Int] = {return scala.Array.range(1, key + 1, 1)}def main(args: Array[String]): Unit = {for (x <- getGenergeCode(10)) {print(" " + x)}println()}/** spark.udf.register("getGenergeCode", DataCenterUtils.getGenergeCode _) */

4.在局部打散基础上,可以采用局部多段打散,目前生产环境中还未遇到,感兴趣的网友可以试试这个思路。

5.一顿操作猛如虎,有没有更牛的解决方案,答案有:采用Spark Dce,百度和英特尔联合开发的基于硬件的shuffle解决方案,和负责人在内部分享会上交流过,形成一个共同的结论,如果能在集群底层将各种问题封装好,不暴露给使用用户RD是最佳的方案。

6.当然除此之外,开源也有一些解决方案,AQE等,后面有时间可以再出一篇AQE源码详解,也有一些没解决很好的问题,例如倾斜键识别。

http://www.dinnco.com/news/60188.html

相关文章:

  • 做网站要是要求吗杭州百度推广代理商
  • 网站开发个人简历厦门seo优化外包公司
  • 专业网站制作哪家专业宁波网络推广优化方案
  • 装修设计公司资质要求安卓优化大师历史版本
  • 网站后台 批量上传福州seo服务
  • 网站建设图片拍摄价格关键词权重
  • 北京网上注册公司流程泰州seo网站推广
  • 先做网站还是服务器100个经典创意营销方案
  • 高邮市城乡建设局网站网络卖货平台有哪些
  • 上海商标注册广州seo推广公司
  • 百度搜自己的网站百度客服中心人工在线电话
  • 辽中网站建设互联网营销师培训
  • 网站的运营推广方案seo需要掌握哪些技术
  • 公司网站建设行为规定合肥网络推广软件系统
  • 钉钉企业邮箱收费标准成都关键词优化排名
  • 义乌做网站软文营销的本质
  • ps网站首页设计软文推广有哪些
  • 网站开发技术方案doc免费源码下载网站
  • 做推文的网站知乎免费seo排名优化
  • 南阳网站排名优化价格nba最新排名公布
  • 主流的网站建设的软件一键生成个人网站
  • 跨境电商个人可以做吗锦州网站seo
  • 做的最好的政府部门网站专业网站优化外包
  • 做网站还得备案百度百度推广
  • 网站链接分享做推广安卓优化大师官方下载
  • 南昌p2p网站建设如何进行推广
  • 内蒙古政府网站建设 论文网站开发工程师
  • 网站建设网络推广公司有哪些草根seo视频大全
  • 欧洲男女做受视频网站免费网络推广渠道
  • 寻找郑州网站建设广州30万人感染