首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
课程
专栏·文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
靠谱的小学生最喜欢夏天
门头沟学院 统计学类
发布于广东
关注
已关注
取消关注
@爱写代码的菜菜子:
屡败屡战的大数据秋招之面试必问数据倾斜
面试必问。大数据面试绝对重点!! 面过的12家,有字节、快手、美的、顺丰、OPPO、京东、贝壳都被问道过。菜鸡的我没有实习经历项目中也没有遇到过数据倾斜的情况,每次被问到都如坐针毡思维混乱一通乱说。😅😅给各位面试官留下了逻辑性差、实践少的差印象。特把这个问题单独摘出来进行深入整理!!!! 各位朋友,本人实践经验有限,下文如有错误劳烦您指出,万分感谢! 花式提问😅😅 你遇到过Spark 的数据倾斜吗 你遇到过Hive 的数据倾斜吗 你遇到过Redis 的数据倾斜吗 你遇到过 Kafka 的数据倾斜吗 你在项目中遇到过数据倾斜吗 你知道怎么解决数据倾斜吗....... 题眼 @Aerospike 一个月前,字节三面面经评论区这位大哥点醒了我。 partition倾斜那个应该就是热点倾斜,会导致消息堆积,最本质的是对每个message的hash处理 无论是哪个组件,在发生消息堆积的时候,也就是大量message 被发送到了一个地方,那我们来拆题:Kafka 数据倾斜:大量数据被发送到了Kafka 中一个partitionSpark 数据倾斜:大量数据被发送到了Spark 的一个taskHive 数据倾斜:大量数据被发送到了一个Reduce 任务中Redis 数据倾斜:大量数据都存到了Redis 集群中的一个节点中 😅😅😅是不是一样啊,就是一样啊啊啊啊!!!!解决问题的思路是一样的!! Kafka 数据倾斜解决思路: 自定义分区器Partitioner。 Redis 集群数据倾斜解决方案: 重新进行槽指派 Hive 数据倾斜解决方案 聚合倾斜 Join 倾斜 Spark 数据倾斜解决方案 1.广播变量 场景:对RDD进行join 类操作。A join B。且B的RDD比较小(百兆或者1~2GB)的情况下。解决思路:对较小的RDD直接collect到内存并创建广播变量。对另一方执行map 类算子。也就是A RDD去和广播变量中的每条数据依次对比key,key相同的两条进行join。效果:用广播变量 + map 代替join。规避join带来的shuffle。 2.聚合倾斜 场景:对RDD进行reduceByKey 等聚合类shuffle 算子,还有SparkSQL做分组聚合时。部分key 嗷嗷多,导致少数节点OOM,或已经完成的节点都在等这个还在做的节点。解决思路: 通过map 算子给操作的key打上n以内的随机数,举个例子(hello, 1) (hello, 1) (hello, 1) (hello, 1)变为(1_hello, 1) (1_hello, 1) (2_hello, 1),并进行reduceByKey的局部聚合。然后再次调用map 算子将key 的前缀随机数去掉,再次进行全局聚合。效果:将原本一个task 处理的数据分摊到多个task 进行局部聚合。规避了单个task 数据量大。 3.Join 倾斜 场景:两个大的RDD 进行Join 操作,并且一个RDD中少数key 数据量过大表示为RDDA,另一个RDD 的key 分布比较均匀表示为RDDB解决思路:a.对RDDA 进行采样,统计出数据量最大的几个keyb.对RDDA进行拆分,将倾斜的key拆分出来形成单独的RDDA_1,并打上0到n 的随机数前缀。剩余的另一部分形成RDDA_2。c.对RDDB过滤出RDDA倾斜的key,得到RDDB_1,并将其中每条数据扩大n倍,之后按序附加0到n的前缀。剩余的一部分独立形成一个RDDB_2.d.将RDDA_1和RDDB_1进行join。这时候倾斜的key被打散N份并分散到更多的task中进行Join。e.将两个普通的RDD照常joinf.将两次join 的结果用 Union 算子结合,得到最终的join 结果。效果:通过打随即前缀,将倾斜的RDDA_1 打散为n份做join。这样倾斜key 对应的大量数据被分摊到更多task上,规避倾斜。 4.调参解决
点赞 24
评论 2
全部评论
推荐
最新
楼层
网易互娱
校招火热招聘中
官网直投
相关推荐
黑猫警长嘟嘟嘟
昨天 11:55
北京科技大学 计算机类
滴滴秋储许愿offer
已经oc三天了 快发快发
点赞
评论
收藏
转发
找不到实习不丢人吧
05-18 13:26
门头沟学院 电子信息类
牛客大佬看看简历
十分听劝😭,投了许多家都没回音,简历是不是有问题
投递牛客等公司9个岗位 >
最后再改一次简历
写简历别走弯路
点赞
评论
收藏
转发
Tzy_
05-06 18:35
作业帮_后端开发(准入职员工)
好leader
感觉leader很好,都想马上冲过去帮他分担一点了 #春招# #后端#
点赞
评论
收藏
转发
拒绝无效加班的傻狍子很乐观
04-18 16:36
华南理工大学 计算机类
哥们投了一个月一个面都没有😭
是不是简历有问题啊,985也这样真是自己太菜了吗😭
点赞
评论
收藏
转发
SpadeKX
05-19 09:55
已编辑
河北大学 计算机类
苦涩失败者 >> Hello Nowcoder
以下是失败者的自白#打油诗付#初九夜书勃兰登保桑拿房 落榜艺术生SK(作)自学找挖小牛马, 鸡鸣抠顶三更罢. 四飞摆光无人赏, 破败蕊尊处处藏.(* 赏析见文末)---你好, 我是玄桃K - SpadeKTLSG. 温两碗酒, 要一个秋招前的25届实习.还记得2个月前自己眼高手低了, 敲锣打鼓梭哈暑期实习, 心想0实习0竞赛但不冲大厂中厂后端总能拿下罢? 但当我真正爬出襁褓后才发现, 我的水平实在差大伙的太远了. 并且我的知识体系在快速腐烂, 思维花园一时间呈现草盛豆苗稀的"勃勃生机". 于是我只得重新集结力量, 以期在下一跳反向进攻到更好...
我的实习日记
25届暑期实习
点赞
评论
收藏
转发
点赞
收藏
评论
分享
回复帖子
全站热榜
1
...
开摆了,写小说去了
6907
2
...
【有奖活动】浅聊一下我的实习⭐
6447
3
...
没offer的我们也很优秀偶
6014
4
...
双非本 腾讯WXG暑期已offer | 附面经
4853
5
...
滴滴秋储-服务端开发 OC
4371
6
...
5.20携程笔试
4315
7
...
华子报批了
3901
8
...
快手客户端开发工程师(1)
3817
9
...
美团前端一二面(已oc
3744
10
...
帮助大家答疑
3695
正在热议
#
牛客帮帮团来啦!有问必答
#
811354次浏览
12954人参与
#
机械制造薪资爆料
#
318983次浏览
3726人参与
#
晒一晒我的offer
#
3456400次浏览
55158人参与
#
0offer是寒冬太冷还是我太菜
#
426285次浏览
4918人参与
#
如果可以选,你最想从事什么工作
#
185357次浏览
3065人参与
#
实习生应该准时下班吗
#
80412次浏览
591人参与
#
你觉得找工作该拿大厂还是小厂练手
#
61088次浏览
863人参与
#
海康威视求职进展汇总
#
100953次浏览
1213人参与
#
荣耀求职进展汇总
#
69701次浏览
695人参与
#
实习必须要去大厂吗?
#
13580次浏览
216人参与
#
软件开发投递记录
#
478432次浏览
7238人参与
#
宁德时代求职进展汇总
#
36926次浏览
411人参与
#
国企vs私企,你更想去?
#
20207次浏览
204人参与
#
实习工作,你找得还顺利吗?
#
41891次浏览
465人参与
#
想实习转正,又想准备秋招,我该怎么办
#
117041次浏览
1316人参与
#
求职遇到的搞笑事件
#
19544次浏览
286人参与
#
金三银四,你有感觉到吗
#
327969次浏览
4207人参与
#
你的秋招进行到哪一步了
#
367514次浏览
6392人参与
#
正在春招的你,也参与了去年秋招吗?
#
136125次浏览
1703人参与
#
非技术薪资爆料
#
73806次浏览
1000人参与
牛客网
牛客企业服务