首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
换个名字拿offer
获赞
7
粉丝
0
关注
4
看过 TA
2
河北建筑工程学院
2019
大数据开发工程师
IP属地:北京
暂未填写个人简介
私信
关注
拉黑
举报
举报
确定要拉黑换个名字拿offer吗?
发布(2)
评论
刷题
收藏
换个名字拿offer
关注TA,不错过内容更新
关注
2022-04-19 11:03
河北建筑工程学院 大数据开发工程师
数仓面试求教
面试数仓岗位问题如下:1.mapreduce中为何要hash partition分区2.mapreduce中为何使用快拍和归并排序3.两张表,译过来就是a为维表(不小),b为事实表,两表关联,如何优化?问后说关联是出现数据倾斜。数仓只知道mapreduce的原理流程,具体环节没有深究,大佬有能给解答的吗
牛客541460654号:
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 优化这类问题
0
点赞
评论
收藏
分享
2022-03-16 11:54
河北建筑工程学院 大数据开发工程师
求近一周能收到offer
希望近一周能有好运加成,offer+1。社区给我力量
香菜宇宙第一:
哈哈,祝楼主早日收到offer
0
点赞
评论
收藏
分享
1
创作者周榜
更多
关注他的用户也关注了:
牛客网
牛客企业服务