关注
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 评论
相关推荐
查看13道真题和解析 点赞 评论 收藏
分享
10-19 13:10
The University of Sydney Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 校招生月薪1W算什么水平 #
38718次浏览 212人参与
# 一人一个landing小技巧 #
124738次浏览 1450人参与
# “vivo”个offer #
40249次浏览 284人参与
# 如果上班像打游戏,你最想解锁什么技能 #
9221次浏览 74人参与
# 我和mentor的爱恨情仇 #
77170次浏览 427人参与
# 为了实习逃课值吗? #
30749次浏览 280人参与
# 哪一瞬间觉得自己长大了 #
38992次浏览 494人参与
# 你见过哪些工贼行为 #
25661次浏览 128人参与
# vivo工作体验 #
28668次浏览 124人参与
# 工作后明白的那些道理 #
22474次浏览 225人参与
# 实习吐槽大会 #
386138次浏览 2156人参与
# 被同事甩锅了怎么办 #
23674次浏览 100人参与
# 我是面试官,请用一句话让我破防 #
27976次浏览 132人参与
# 中美关税战对我们有哪些影响 #
44165次浏览 371人参与
# 和mentor 1on1 都聊什么? #
1469次浏览 18人参与
# 你的秋招第一场笔试是哪家 #
257561次浏览 2022人参与
# 中美关系回暖,你会选择出海吗? #
7875次浏览 118人参与
# 哪些行业值得去? #
6238次浏览 52人参与
# 华为保温 #
108768次浏览 410人参与
# 你认为工作的意义是什么 #
193915次浏览 1180人参与
# 读研or工作,哪个性价比更高? #
79068次浏览 769人参与