首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用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
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
08-16 11:05
南昌大学 硬件开发
硬件工程师简历求拷打,听劝
点赞
评论
收藏
分享
08-12 14:14
门头沟学院 Java
oppo一面过啦!!
没想到一面竟然过了,面试体验很好面试官问的很细,态度也很好
OPPO一面271人在聊
点赞
评论
收藏
分享
07-20 10:33
湖北汽车工业学院 供应链管理
到底谁在就业呀!这样的简历是不是很差?
点赞
评论
收藏
分享
08-15 08:30
门头沟学院 后端
快手秋招一面
1. 请深入介绍一个你最有成就感的项目。项目的背景和目标是什么?你在其中承担了什么职责?遇到了哪些技术挑战,你又是如何解决并最终落地的?2. 除了消息队列,你还了解哪些其他的系统解耦方法?它们各自适用于什么场景,优缺点是什么?3. 在设计一个高并发秒杀系统时,你会如何选择消息队列(如RocketMQ/Kafka/Pulsar),并说明你的选型理由?4. 如果让你从零开始设计一个类似企业微信的IM系统,你会如何设计其技术架构?重点考虑消息的实时性、可靠性和顺序性。5. 请描述一下从浏览器输入URL到页面展示的完整过程,尽可能详细,特别是DNS解析、TCP三次握手、HTTPS握手等环节。6. HT...
快手一面749人在聊
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
小红书-引擎架构- java实习-一&二面凉经
4294
2
...
影石嵌入式面经
3681
3
...
拼多多笔试
3285
4
...
京东笔试(离AK最近的一次,可惜)
2796
5
...
pdd笔试
2702
6
...
大疆结构秋招一面
2120
7
...
救救孩子吧
2109
8
...
猿辅导-内容服务后端-java实习-一面凉经
1993
9
...
字节转正啦!
1971
10
...
美团8.16笔试(进度2.25/3)
1935
创作者周榜
更多
正在热议
更多
#
秋招笔面试记录
#
226067次浏览
3778人参与
#
我心目中的理想工作是这样的
#
74525次浏览
858人参与
#
如果工作一直消耗情绪还要继续做吗
#
7191次浏览
57人参与
#
牛客周边新品开箱
#
8167次浏览
86人参与
#
晒出你年味最浓的照片
#
18943次浏览
147人参与
#
假如你的老板掉河里,你的工作能为他做什么
#
32945次浏览
386人参与
#
今年春节,家人对你说的最多的话是什么?
#
15706次浏览
120人参与
#
如果公司给你放一天假,你会怎么度过?
#
20508次浏览
134人参与
#
毕业季,你想好怎么跟生活对线了吗?
#
237373次浏览
3790人参与
#
给26届的秋招建议
#
46323次浏览
1158人参与
#
在职场上,你最讨厌什么样的同事
#
28772次浏览
212人参与
#
扒一扒那些奇葩实习经历
#
72949次浏览
942人参与
#
秋招投递记录
#
29654次浏览
324人参与
#
我的秋招“寄”录
#
51391次浏览
646人参与
#
辞职之后最想做的一件事
#
21866次浏览
226人参与
#
校招第一份工作你干了多久?
#
100284次浏览
442人参与
#
比亚迪求职进展汇总
#
753175次浏览
3104人参与
#
饿了么求职进展汇总
#
65816次浏览
640人参与
#
实习的内耗时刻
#
65419次浏览
689人参与
#
如果校招重来我最想改变的是
#
281724次浏览
2916人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务