- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MapReduce的特性8
MapReduce的特性
贺争盛
2013 年 6月 23日 星期日
浙江大学计算机学院数字媒体
计数器
排序
连接
Contents 1 · 目录一
1
2
3
5
边数据分布
MapReduce库类
Contents 2 · 目录二
4
计数器
一种收集作业统计信息的有效手段,由于质量控制或应用统计。计数器还可辅助诊断系统故障。
获取计数器值比输出日志更为方便
内置计数器
用户定义的java计数器
用户定义的streaming计数器
内置计数器
Hadoop内置的计数器,记录作业执行情况和记录情况。
MapReduce框架、文件系统、作业计数三大类
计数器由关联任务维护,定期传递给tasktracker,再由tasktracker传给jobtracker。
计数器可以被全局聚集。内置的作业计数器实际上由jobtracker维护,不必在整个网络中传递。
一个任务的计数器值每次都是完整传输的
用户定义的Java计数器
多个计数器由一个Java枚举(enum)类型来定义
MapReduce框架将跨所有map和reduce聚集这些计数器,并在作业结束时产生一个最终结果。
用户定义的Java计数器
动态计数器
incrCounter(String group,String counter,long amount)
不由java枚举类型定义的计数器
两种创建和访问计数器方法——枚举类型和string类型——事实上等价
获取计数器
两种获取计数器的方法
1. hadoop job –counter 指令
2.通过java API,在作业运行完成后,计数器稳定后获取。 使用job.getCounters()得到Counters
排序
排序是MapReduce的核心技术
准备
要用顺序文件存储数据,Intwritable键代表气温(排序),text值就是数据行。
每个map创建并输出一个块压缩的顺序文件
部分排序
基于分区的MapFile查找技术
全排序
产生一个全局排序的文件
只有一个分区可以实现,但无法利用并行的优势
替代方案:
1、 创建一系列排好序的文件
2、 串联这些文件,
3、 生成一个全局排序的文件
思路:使用一个partitioner来描述全局排序的输出。
全排序
关键点在于如何划分各个分区。尽量使各分区的记录数相等。
1、 可以写一个MapReduce程序来计算各个范围数据的分布,用来做评估。但性能较低
2、 可以通过对键空间进行采样,获取键的近似分布。
全排序
辅助排序
主要解决对键所对应的值的排序
1、 定义包括自然键和自然值的组合键
2、 键的comparator根据组合键对记录进行排序,即同时利用自然键和自然值进行排序
3、 针对组合键的comparator和分组comparator在进行分区和分组时均只考虑自然键
连接
连接
连接操作的具体实现技术取决于数据集的规模和分区方式
1、 如果一个数据集很大,一个数据集很小,则将集合分发到集群中每一个节点,从而实现连接
2、 对两个数据集都很大,则需要根据数据的组织方式,来决定是在map端连接还是在reduce端连接。
Map端连接
在两个大规模输入数据集之间的map端连接会在数据到达map函数之前就执行连接操作。
相同数量分区,按相同键排序(连接键)
reduce端连接
Reduce端连接并不要求输入数据集符合特定结构,因而reduce端连接比ap端连接更为常用。但由于两个数据集均需经过MapReduce的shuffle过程,所以reduce端连接的效率往往更低一些。
基本思路:mapper为各个记录标记源,并且使用连接健作为map输出键,使键相同的记录放在同一个reducer中。
边数据分布
“边数据”(side data)是作业所需的额外的只读数据,以辅助处理主数据集。
如何让所有map或reduce任务方便而高效使用边数据。
利用JobConf来配置作业
如果只需向任务传递少量元数据则非常有用。如果想获取任务的值,只需覆盖Mapper或Reducer类的configure()方法,并调用传入JobConf对象的getter方法即可。
分布式缓存
Hadoop的分布式缓存拷贝机制,它能够在任务运行过程中及时将文件和存档复制到任务节点以供使用。为了节约网络带宽,在每一个作业中,各个文件通常只需复制到一个节点一次。
缓存的容量是有限的,默认10G,可以在local.cache.size进行配置
-file 指定带分发的文件
-archieves 向自己的任务中复制存档文件
-libjars 把JAR文件添加到mapper和reducer任务的类路径中。
分布式缓存
工作机制:
1、 用户启动一个作业,hadoop将由-f
您可能关注的文档
- BIRD驻波测试仪使用8.pptx
- BOB也求新意 编发让你与众不同0.docx
- BOSS1.5系统系统功能篇8.ppt
- book3 Unit3 Words单词课件0.ppt
- BY2571数字式接地电阻测试仪使用说明书8.doc
- C - 进程的通信与线程.ppt
- C-V-P分析在经营决策中的应用8.ppt
- c++面向对象程序设计实验一8.doc
- C2互联网服务及应用0.doc
- CAN控制器模块11.1CAN总线技术概述测控系统向着.ppt
- 2026年及未来5年蓝信流量统计日志系统项目市场数据调查、监测研究报告.docx
- 2026年及未来5年多功能烟气分析仪项目市场数据调查、监测研究报告.docx
- 2026年及未来5年热熔焊制45°弯头项目市场数据调查、监测研究报告.docx
- 2025年学历类自考中国文化概论-中国当代文学作品选参考题库含答案解析.docx
- 2026年及未来5年微控双温区锑扩散系统项目市场数据调查、监测研究报告.docx
- 2026年及未来5年变频电机转子项目市场数据调查、监测研究报告.docx
- 2026年及未来5年数显压力机项目市场数据调查、监测研究报告.docx
- 2026年及未来5年电话十台灯十时钟项目市场数据调查、监测研究报告.docx
- 2026年及未来5年移动空调控制板项目市场数据调查、监测研究报告.docx
- 2026年及未来5年大豆纤维服饰项目市场数据调查、监测研究报告.docx
原创力文档


文档评论(0)