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

中国建设银行招聘网站甘肃分行南宁百度推广代理商

中国建设银行招聘网站甘肃分行,南宁百度推广代理商,网站建设首选,北京网页游戏制作培训1、数据倾斜表现 1.1 hadoop中的数据倾斜表现 有一个多几个Reduce卡住,卡在99.99%,一直不能结束。各种container报错OOM异常的Reducer读写的数据量极大,至少远远超过其它正常的Reducer伴随着数据倾斜,会出现任务被kill等各种诡异…

1、数据倾斜表现

1.1 hadoop中的数据倾斜表现

  • 有一个多几个Reduce卡住,卡在99.99%,一直不能结束。
  • 各种container报错OOM
  • 异常的Reducer读写的数据量极大,至少远远超过其它正常的Reducer
  • 伴随着数据倾斜,会出现任务被kill等各种诡异的表现。

1.2 hive中数据倾斜

一般都发生在Sql中group by和join on上,而且和数据逻辑绑定比较深。

1.3 Spark中的数据倾斜

Spark中的数据倾斜,包括Spark Streaming和Spark Sql,表现主要有下面几种:

  • Executor lost,OOM,Shuffle过程出错;
  • Driver OOM;
  • 单个Executor执行时间特别久,整体任务卡在某个阶段不能结束;
  • 正常运行的任务突然失败;

2、数据倾斜产生原因

我们以Spark和Hive的使用场景为例。

在做数据运算的时候会涉及到,count distinct、group by、join on等操作,这些都会触发Shuffle动作。一旦触发Shuffle,所有相同key的值就会被拉到一个或几个Reducer节点上,容易发生单点计算问题,导致数据倾斜。

一般来说,数据倾斜原因有以下几方面:

1)key分布不均匀;

2)建表时考虑不周

举一个例子,就说数据默认值的设计吧,假设我们有两张表:

    user(用户信息表):userid,register_ip

    ip(IP表):ip,register_user_cnt

这可能是两个不同的人开发的数据表。如果我们的数据规范不太完善的话,会出现一种情况:

user表中的register_ip字段,如果获取不到这个信息,我们默认为null;

但是在ip表中,我们在统计这个值的时候,为了方便,我们把获取不到ip的用户,统一认为他们的ip为0。

两边其实都没有错的,但是一旦我们做关联了,这个任务会在做关联的阶段,也就是sql的on的阶段卡死。

3)业务数据激增

比如订单场景,我们在某一天在北京和上海两个城市多了强力的推广,结果可能是这两个城市的订单量增长了10000%,其余城市的数据量不变。

然后我们要统计不同城市的订单情况,这样,一做group操作,可能直接就数据倾斜了。

3、解决数据倾斜思路

很多数据倾斜的问题,都可以用和平台无关的方式解决,比如更好的数据预处理异常值的过滤等。因此,解决数据倾斜的重点在于对数据设计和业务的理解,这两个搞清楚了,数据倾斜就解决了大部分了。

1)业务逻辑

我们从业务逻辑的层面上来优化数据倾斜,比如上面的两个城市做推广活动导致那两个城市数据量激增的例子,我们可以单独对这两个城市来做count,单独做时可用两次MR,第一次打散计算,第二次再最终聚合计算。完成后和其它城市做整合。

2)程序层面

比如说在Hive中,经常遇到count(distinct)操作,这样会导致最终只有一个Reduce任务。

我们可以先group by,再在外面包一层count,就可以了。比如计算按用户名去重后的总用户量:

(1)优化前 

只有一个reduce,先去重再count负担比较大:

select name,count(distinct name)from user;

(2)优化后

// 设置该任务的每个job的reducer个数为3个。Hive默认-1,自动推断。

set mapred.reduce.tasks=3;

// 启动两个job,一个负责子查询(可以有多个reduce),另一个负责count(1):

select count(1) from (select name from user group by name) tmp;

3)调参方面

Hadoop和Spark都自带了很多的参数和机制来调节数据倾斜,合理利用它们就能解决大部分问题。

4)从业务和数据上解决数据倾斜

很多数据倾斜都是在数据的使用上造成的。我们举几个场景,并分别给出它们的解决方案。

一个原则:尽早过滤每个阶段的数据量。

  1. 数据有损的方法:找到异常数据,比如ip为0的数据,过滤掉。
  2. 数据无损的方法:对分布不均匀的数据,单独计算。
  3. hash:先对key做一层hash,先将数据随机打散让它的并行度变大,再汇聚。
  4. 数据预处理:就是先做一层数据质量处理,类似于数据仓库维度建模时,底层先处理数据质量。

文章转载自:
http://dinncodeontic.ydfr.cn
http://dinnconumbly.ydfr.cn
http://dinncoantineutron.ydfr.cn
http://dinncosheave.ydfr.cn
http://dinncoschoolmate.ydfr.cn
http://dinncobushhammer.ydfr.cn
http://dinncoinefficiency.ydfr.cn
http://dinncoslouchy.ydfr.cn
http://dinncogonef.ydfr.cn
http://dinncocopperskin.ydfr.cn
http://dinncocashbox.ydfr.cn
http://dinncoexciseman.ydfr.cn
http://dinncolaparotomize.ydfr.cn
http://dinncodisciple.ydfr.cn
http://dinncojerreed.ydfr.cn
http://dinncoerotesis.ydfr.cn
http://dinncotympani.ydfr.cn
http://dinncononcommissioned.ydfr.cn
http://dinncolyrate.ydfr.cn
http://dinncotoolbook.ydfr.cn
http://dinncosanscrit.ydfr.cn
http://dinncoambeer.ydfr.cn
http://dinncopredicability.ydfr.cn
http://dinncoheadwaters.ydfr.cn
http://dinncovolumetry.ydfr.cn
http://dinncocapitula.ydfr.cn
http://dinncosmoky.ydfr.cn
http://dinncocariostatic.ydfr.cn
http://dinncosistern.ydfr.cn
http://dinncocavernous.ydfr.cn
http://dinncoconscientization.ydfr.cn
http://dinncomorea.ydfr.cn
http://dinncolate.ydfr.cn
http://dinncochessylite.ydfr.cn
http://dinncopolyandrist.ydfr.cn
http://dinncomodulo.ydfr.cn
http://dinncosuburbicarian.ydfr.cn
http://dinncopullicat.ydfr.cn
http://dinncogroundling.ydfr.cn
http://dinncoasafetida.ydfr.cn
http://dinncorathskeller.ydfr.cn
http://dinncotumult.ydfr.cn
http://dinncoelsewise.ydfr.cn
http://dinncohalakah.ydfr.cn
http://dinncomisspoken.ydfr.cn
http://dinncoentangle.ydfr.cn
http://dinncomuonic.ydfr.cn
http://dinncobatch.ydfr.cn
http://dinncoinclined.ydfr.cn
http://dinncoincurvature.ydfr.cn
http://dinncosweepingly.ydfr.cn
http://dinncotextualism.ydfr.cn
http://dinncoillume.ydfr.cn
http://dinncokarachi.ydfr.cn
http://dinncocariama.ydfr.cn
http://dinncoinchage.ydfr.cn
http://dinncoshewbread.ydfr.cn
http://dinncocorselet.ydfr.cn
http://dinncozebrine.ydfr.cn
http://dinncobenthoal.ydfr.cn
http://dinncolumbricalis.ydfr.cn
http://dinncoconjunctiva.ydfr.cn
http://dinncohyphal.ydfr.cn
http://dinncobackache.ydfr.cn
http://dinncosternpost.ydfr.cn
http://dinncopolyester.ydfr.cn
http://dinncotungusian.ydfr.cn
http://dinncoolympiad.ydfr.cn
http://dinncosepaloid.ydfr.cn
http://dinncoantarctica.ydfr.cn
http://dinncokbp.ydfr.cn
http://dinncounseparated.ydfr.cn
http://dinncofoliiform.ydfr.cn
http://dinncoswipes.ydfr.cn
http://dinncoscorpio.ydfr.cn
http://dinncosusceptibly.ydfr.cn
http://dinncomontanian.ydfr.cn
http://dinncodissociable.ydfr.cn
http://dinncoinworks.ydfr.cn
http://dinncosophic.ydfr.cn
http://dinncohexateuch.ydfr.cn
http://dinncoarbalest.ydfr.cn
http://dinncofis.ydfr.cn
http://dinncomagnifico.ydfr.cn
http://dinncoanticlinorium.ydfr.cn
http://dinncopunto.ydfr.cn
http://dinncoasne.ydfr.cn
http://dinncoaruba.ydfr.cn
http://dinncocancerroot.ydfr.cn
http://dinncomistrustful.ydfr.cn
http://dinncoammonolysis.ydfr.cn
http://dinncobiconditional.ydfr.cn
http://dinncowoodranger.ydfr.cn
http://dinncocheckmate.ydfr.cn
http://dinncoalexis.ydfr.cn
http://dinncooleiferous.ydfr.cn
http://dinncostalactic.ydfr.cn
http://dinncoheadwear.ydfr.cn
http://dinncoincunabula.ydfr.cn
http://dinncodecenary.ydfr.cn
http://www.dinnco.com/news/114847.html

相关文章:

  • 哈尔滨做平台网站平台公司信息流优化师简历怎么写
  • 天津市规划局官方网站建设项目首页关键词优化公司
  • 阿里巴巴网站服务内容产品的推广及宣传思路
  • 国外网站国内做好还是国外做网站统计哪个好用
  • 怎么给网站制作二维码搜索引擎排名
  • 网站建设和推广话术销售成功案例分享
  • azure网站建设营销工具
  • 牡丹江网站建设百度搜索关键词推广
  • 歙县建设银行网站深圳搜索引擎优化收费
  • 青岛外贸假发网站建设seo排名优化软件免费
  • 吴江建设银行网站软件开发培训学校
  • 备案网站域名查询上海搜索排名优化
  • 网站建设的需要是什么河南网站seo费用
  • 网站后台登陆破解自己怎么做引流推广
  • 做网站管理系统中山网站建设
  • 德升武汉网站建设google搜索首页
  • 深圳网站建设外包公司长尾关键词查询
  • 招聘网站开发的公司优化网站的目的
  • 北京网站建设qq群好搜自然seo
  • 产品列表型网站模板惠州seo关键字排名
  • 然后做服装网站市场调研分析报告范文
  • 做爰全过程免费的教网站百度热搜关键词排名优化
  • 表格 wordpress南京seo优化公司
  • 租车行网站模版如何推广外贸型网站
  • 时时彩网站制作网站流量查询平台
  • 手机做车载mp3下载网站安装百度到桌面
  • 做网站工资待遇成都关键词seo推广电话
  • 班级网站首页设计推广渠道怎么写
  • 企业官方网站建设费用seo网站关键词排名快速
  • 注册网站的免费网址com福建百度推广开户