关注
1. HashPartitioner 是默认的分区器,也可以用别的, 比如TotalOrderPartitioner, 也可以自定义开发。
第一个问题, 先回答为什么要分区 就是数据shuffle过程中的一种打散策略。
Hash散列化是最容易想到的。
2. 在MR当中会用到多次排序过程 特别是map输出到内存再溢写到磁盘时会产生大量的临时文件,这些小文件是不能直接交给Reducer处理的,而要进行一个合并的过程, 这个过程是带着map-key进行操作的 所以要用到归并排序。 在环形缓冲的内存区 使用快排, 原因我还没想到。
(https://blog.csdn.net/u010737756/article/details/114198358 )
3. 先定义和回顾数据倾斜的概念, 然后再思考join这个过程的实现 (reduce把相同key分组做笛卡尔积) 如果大表小表的差异巨大, 表现为小表的数据量比较少但key却比较集中,导致分发到某一个或几个reduce上的数据比其他reduce多很多,易造成数据倾斜。 常常会采用mapjoin 优化这类问题
查看原帖
5 评论
相关推荐
JakicDong:感觉不太行,要学的东西太多了。你的简历肯定能帮你进面,但是面试过程八股+项目拷打+算法很容易摸出底。 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 什么是优秀的实习经历 #
8487次浏览 211人参与
# 实习简历求拷打 #
12808次浏览 160人参与
# 被上班搭子“传染”了哪些习惯 #
5632次浏览 99人参与
# 秋招被挂春招仍然能投的公司 #
6885次浏览 99人参与
# 工作后,你落下了哪些病根 #
13592次浏览 190人参与
# mt对你说过最有启发的一句话 #
36283次浏览 429人参与
# 外包能不能当跳板? #
54118次浏览 256人参与
# 作业帮求职进展汇总 #
83165次浏览 547人参与
# 摸鱼被leader发现了怎么办 #
101573次浏览 644人参与
# 秋招特别不鸣谢 #
15832次浏览 178人参与
# 考研失败就一定是坏事吗? #
201194次浏览 1373人参与
# 选实习,你更看重哪方面? #
14217次浏览 217人参与
# 投格力的你,拿到offer了吗? #
152689次浏览 817人参与
# 第一次面试 #
1036522次浏览 13683人参与
# 今年秋招你收到了多少封邮件? #
18058次浏览 219人参与
# 京东美团大战,你怎么看? #
158127次浏览 860人参与
# 机械/制造每日一题 #
80267次浏览 1411人参与
# 担心入职之后被发现很菜怎么办 #
266311次浏览 1133人参与
# 你今年的保底offer是哪家 #
155183次浏览 673人参与
# 携程求职进展汇总 #
840281次浏览 5538人参与