- 0
- 0
- 约2.06千字
- 约 3页
- 2026-02-26 发布于北京
- 举报
Hadoop调度器有哪些,并简要说明其工作方法??
Hadoop调度器作用是将系统中空闲的资源按一定策略分配作业。在hadoop中,调度
器是一个可插拔的模块,用户可以根据自己的实际应用要求设计调度器。
①默认的调度器FIFO
Hadoop中默认的调度器,它先按照作业的优先级高低,再按照到达时间的先后选择被执行
的作用,(先进先出);
②计算能力调度器(CapacityScheduler)
计算能力调度器,选择占用最小,优先级高的先执行,以此类推;
③公平调度器Fairscheduler
公平调度器,所有的job具有相同的资源;
Hadoop怎样实现二级排序???
Hadoop在将Mappear产生的数据输送给Reducer之前,会自动对它进行排序,那么,如果我
们还希望按值排序,应该怎么做呢?当然是二级排序,通过对key这个对象格式进行修改,
也就是对key这个对象重新封装,把值的一部分或者整体添加到原始key里面,生成一个合成
的key。对key的重新封装也就是hadoop的二级排序。
Hadoop实现join几种方法???
可以参考咱们weibo的那个MapReduce的程序,最后一个mapreduce就用到了mapred的
join原理.
如果我们有如下的两个文件:
.txt(字段是id,name,addre):
1tom100
2jme101
3kite102
4jack100
5tim101
address.txt(字段是id,name):
100Beijing
101Shanghai
102Guangzhou
103Shenzhen
最后需要输出所在的位置信息,形式如下:
1001tomBeijing
1004jackBeijing
1012jmeShanghai
1015timShanghai
1023kiteGuangzhou
1)hadoop中的mapred实现join的方法??
①reducesidejoin的方式;
此种方式是灵活的,但是大部分情况它的效率非常低;由于join直到reduce()阶段
才开始,会在网络中传递shuffle所有数据(执行copy,sort等动作),然而大
多数情况下,join阶段会丢掉大多数的数据(就如上面的列子:),因此,如果非得用
这种join方式,那么我们有:
※如果确定reduce-side的join,那么参与的文件在map端尽可能先过滤掉无关的数据,
列如:针对特定的文件的projection/filtering,而不是传递到reduce节点后,在join
时才做
※是否可以直接在map端完成join操作,是肯定的。
②sortmergejoin的实现(这里不做具体分析)
③mapsidejoin的方式(老师上课用的方法就是此种方法)
将join中的小文件放进内存中,其实这个类似数据库中classichashjoin的方式,就是一
个是buildinput阶段,一个是probeinput阶段,这里都在map端完成。buildinput阶段,
小文件的数据到内存,构建一个hashtable;probeinput阶段,大文件,通过查
询hashtable实现join。
您可能关注的文档
最近下载
- 2025年青岛市初中学业水平考试生物试题真题(含答案)_可搜索.pdf VIP
- 美妆练习册(持续更新)彩妆美人图练习初学者美妆入门.pdf VIP
- 2026年牡丹江大学单招《数学》复习提分资料带答案详解(巩固).docx VIP
- 教资科目二知识点.docx VIP
- 2026年牡丹江大学单招职业技能考试题库附参考答案详解(达标题).docx VIP
- 2026年度牡丹江大学单招《语文》练习题附参考答案详解(达标题).docx VIP
- 2026年度牡丹江大学单招《数学》测试卷及参考答案详解【模拟题】.docx VIP
- 大学物理知识点总结完整版.doc
- 2026年牡丹江大学单招《数学》预测复习(预热题)附答案详解.docx VIP
- 2026年牡丹江大学单招《数学》练习题【研优卷】附答案详解.docx VIP
原创力文档

文档评论(0)