当前位置: 首页 > 数据分析师 > 数据分析师学习教程 > 数据分析师课|新公布的4个数据倾斜的原理,这些数据分析的细节千万不能忽略

数据分析师课|新公布的4个数据倾斜的原理,这些数据分析的细节千万不能忽略

更新时间:2020-03-30 11:08:31 来源:环球网校 浏览57收藏5
摘要 在茫茫的数据发展长河中,人们慢慢掌握了数据处理的方法,其中重要的处理方法之一就是对数据的分析,所以出现了数据分析师这一处理数据的职业,有很多刚入职成为数据分析师的新人都会有数据分析的问题,今天就来讲讲数据倾斜的原理的问题。

一、数据倾斜的原理——数据倾斜产生的原因

我们以 Spark 和 Hive 的使用场景为例。他们在做数据运算的时候会涉及到,count distinct、group by、join 等操作,这些都会触发 Shuffle 动作,一旦触发,所有相同 key 的值就会拉到一个或几个节点上,就容易发生单点问题。

二、数据倾斜的原理——万恶的 Shuffle

Shuffle 是一个能产生奇迹的地方,不管是在 Spark 还是 Hadoop 中,它们的作用都是至关重要的。关于 Shuffle 的原理,这里不再讲述,看看 Hadoop 相关的论文或者文章理解一下就 ok。这里主要针对在 Shuffle 如何产生了数据倾斜。

Hadoop 和 Spark 在 Shuffle 过程中产生数据倾斜的原理基本类似。如下图。

大部分数据倾斜的原理就类似于下图,很明了,因为数据分布不均匀,导致大量的数据分配到了一个节点。

 

三、数据倾斜的原理——从数据角度来理解数据倾斜

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

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

ip(IP表):ip,register_user_cnt

这可能是两个不同的人开发的数据表,如果我们的数据规范不太完善的话,会出现一种情况,user 表中的 register_ip 字段,如果获取不到这个信息,我们默认为 null,但是在 ip 表中,我们在统计这个值的时候,为了方便,我们把获取不到 ip 的用户,统一认为他们的 ip 为 0。

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

四、数据倾斜的原理——从业务计角度来理解数据倾斜

数据往往和业务是强相关的,业务的场景直接影响到了数据的分布。

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

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

以上就是有关于数据倾斜的原理的相关内容,以及相应的解析,不论你是已经入职数据分析师岗位的新人,还是打算进入数据分析岗位的小白,以上的内容都或多或少会对大家有所帮助,环球网校的小编在这里祝大家的数据分析师职业道路顺利。

分享到: 编辑:环球网校

资料下载 精选课程 老师直播 真题练习

数据分析师资格查询

数据分析师历年真题下载 更多

数据分析师每日一练 打卡日历

0
累计打卡
0
打卡人数
去打卡

预计用时3分钟

数据分析师各地入口
环球网校移动课堂APP 直播、听课。职达未来!

安卓版

下载

iPhone版

下载

返回顶部