首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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.调参解决
点赞 25
评论 2
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
10-22 11:10
天津理工大学 运营
如果有一天你失业了请记住这几个网站
最近身边不少 IT 同行突然遭遇 “毕业”,看着他们焦虑找工作的样子,忍不住整理了 4 个能帮 IT 人快速回血的网站 —— 不管是想找全职、接私活,还是学新技能, 总有一个能用上!1. 牛客网:IT 面试 “急救包”如果想快速找全职,这个网站一定要锁死!里面有各大厂的历年面试真题,从基础的 Java 语法、算法题,到架构设计、项目复盘,分类特别细,还能在线敲代码刷题,做错了有详细解析。我当时失业后每天在这刷 2 小时题,尤其是 “面经板块”,很多同行会分享最新的面试流程和考点,比如某大厂最近重点问的微服务架构、分布式事务,提前准备好应对思路,面试时真的能少慌很多。另外它还有内推通道,不少企业...
点赞
评论
收藏
分享
10-23 19:00
已编辑
浙江工业大学 软件测试
海康萤石软件测试日常实习面经
10.23上午 电话面 20分钟左右自我介绍项目和实习(我自己先把一些测试理论和方法都介绍了一遍)为什么离职实习的时候是怎么设计测试用例的从实习和比赛中学到了什么比赛的分工除了学校里教的还自学了什么腾讯会议的视频聊天要如何进行测试(ui,兼容性,网络,性能,功能等等)问能否接受功能测试多久能来实习,能实习多久下午hr电话给口头offer,(感觉是这个部门急着用人)估计这边主要是做的功能测试,但我现在也没有什么其他更好的offer,大概率是去这里了,然后准备春招吧
投递萤石等公司10个岗位
点赞
评论
收藏
分享
09-30 16:05
武汉大学 产品经理
第一次开周会一屁股坐董事长位置上了
谁来救救我..
做个有文化的流氓:
不想当将军的士兵不是好士兵
点赞
评论
收藏
分享
10-17 16:36
洛阳理工学院 Java
面试被爽约了😭😭😭
鼠鼠只能接着投了😰😰
迷茫的大四🐶:
价格这么低都能满了?
点赞
评论
收藏
分享
10-25 12:46
电子科技大学 C++
offer帮选,华为or607所?
bg双九华为:光产品线,通用软件开发,面试表现得还可以,大概率能泡出来无锡607:参加了暑期开放日,拿到了民机中心软件的offer,总包24.7w,公积金48%内心纠结研究所虽然稳定,但是工作强度也不会太轻松,且军工环境软件岗限制较多,并且薪资有限,不知道后面会不会薪资倒挂;华为这个部门之前有师兄在,感觉还好,但是不知道自己未来职业发展如何?
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
一份好的技术简历长什么样?
6217
2
...
说真的,给和我一样的普通本科生的忠告
5466
3
...
谈薪前必看! 这些坑不要踩....
5290
4
...
万字长文:致未来的大厂工程师(面试技巧)
5114
5
...
公司开捞了,速改简历!
4117
6
...
转码4年,一场酣畅淋漓的绝地求生
3446
7
...
实习第一天就透底了
3268
8
...
秋招悲惨经历分享,希望缓解一下各位的焦虑
3142
9
...
金九银十结束,双非本硕、非科班悲惨秋招记录(持续更新,双非转码可参考)
2516
10
...
云智lastday
2197
创作者周榜
更多
正在热议
更多
#
如果秋招能重来,我会____
#
10415次浏览
101人参与
#
苦尽甘来时,再讲来时路
#
10218次浏览
180人参与
#
“vivo”个offer
#
19058次浏览
149人参与
#
如果上班像打游戏,你最想解锁什么技能
#
2339次浏览
32人参与
#
我是面试官,请用一句话让我破防
#
1907次浏览
19人参与
#
为了实习逃课值吗?
#
11737次浏览
98人参与
#
快手技术岗信息交流阵地
#
12269次浏览
74人参与
#
校招生月薪1W算什么水平
#
2743次浏览
22人参与
#
机械求职避坑tips
#
71186次浏览
485人参与
#
一份好的简历长什么样?
#
6485次浏览
170人参与
#
选完offer后,你后悔学机械吗?
#
42884次浏览
249人参与
#
秋招许愿,本周能____
#
14048次浏览
93人参与
#
选择和努力,哪个更重要?
#
134609次浏览
1036人参与
#
班味很重的人是啥样的?
#
4070次浏览
30人参与
#
应届生第一份工资要多少合适
#
3425次浏览
36人参与
#
投递无反馈,如何优化求职策略?
#
2219次浏览
26人参与
#
材料专业可以靠半导体脱坑吗?
#
26719次浏览
138人参与
#
机械制造秋招总结
#
82360次浏览
817人参与
#
大学最后一个寒假,我想……
#
60394次浏览
654人参与
#
职场新人体验
#
120189次浏览
825人参与
#
你觉得实习能学到东西吗
#
114451次浏览
1248人参与
#
新凯来求职进展汇总
#
57889次浏览
150人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务