网站大量收购独家精品文档,联系QQ:2885784924

Hadoop入门教程〔四〕MR作业的提交监控.输入输出控制及特性使用—北京尚学堂.doc

Hadoop入门教程〔四〕MR作业的提交监控.输入输出控制及特性使用—北京尚学堂.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Hadoop入门教程〔四〕MR作业的提交监控.输入输出控制及特性使用—北京尚学堂

北京尚学堂提供 上次课讲到MR重要运行参数,本次继续为大家讲解MapReduce相关 提交作业并监控JobClient是用户作业与JobTracker交互的主要接口,它提供了提交作业,跟踪作业进度、访问任务报告及logs、以及获取MR集群状态信息等方法。 提交作业流程包括: 检查作业的输入输出 计算作业的输入分片(InputSplit) 如果需要,为DistributedCache设置必须的账户信息 将作业用到的jar包文件和配置信息拷贝至文件系统(一般为HDFS)上的MR系统路径中 提交作业到JobTracker,并可监控作业状态 作业历史(Job History)文件会记录在hadoop.job.history.user.location指定的位置,默认在作业输出路径下的logs/history/路径下。因此历史日志默认在mapred.output.dir/logs/history下。用户可以将hadoop.job.history.user.location值设置为none来不记录作业历史。 使用命令来查看历史日志: 1 $hadoop job -history output-dir 上面命令会显示作业的详细信息、失败的被kill的任务(tip)的详细信息。使用下面命令可以查看作业更详细的信息: 1 $hadoop job -history all output-dir 可以使用OutputLogFilter从输出路径中过滤日志文件。 一般,我们创建应用,通过JobConf设置作业的各种属性,然后使用JobClient提交作业并监控进度。 作业控制 这种作业成功是否依赖于客户端。客户端可以使用以下方式来控制作业的执行: runJob(JobConf):提交作业并仅在作业完成时返回 submitJob(JobConf):提交作业后立即返回一个RunningJob的引用,使用它可以查询作业状态并处理调度逻辑。 JobConf.setJobEndNotificationURI(String):设置作业完成时通知 你也可以使用Oozie来实现复杂的作业链。 作业输入InputFormat?描述MR作业的输入信息。InputFormat有以下作用: 验证作业的输入信息 将输入文件拆分为逻辑上的输入分片(InputSplit),每个输入分片被分配到一个独立的Mapper 提供RecordReader实现类从输入分片中搜集输入记录供Mapper处理 基于文件的InputFormat实现类即FileInputFormal是通过计算输入文件的总大小(以字节为单位)来分裂成逻辑分片的。然而文件系统的块大小又作为输入分片大小的上限,下限可以通过mapred.min.split.size来设定。 基于输入大小进行逻辑分片机制在很多情况下是不适合的,还需要注意记录边界。在这些情况下,应用应该实现RecordReader来处理记录边界,为独立的mapper任务提供面向行的逻辑分片。 TextInputFormat是默认的输入格式。 如果作业输入格式为TextInputFormat,MR框架可以检测以.gz扩展名的输入文件并自动使用合适的压缩算法来解压文件。特别注意的是,.gz格式的压缩文件不能被分片,每个文件作为一个输入分片被一个mapper处理。 输入分片(InputSplit)InputSplit的数据会被一个独立的mapper来处理。一般输入分片是对输入基于面向字节为单位的。可以使用RecordReader来处理提供面向行的输入分片。 FileSplit是默认的InputSplit,通过设置map.input.file设置输入文件路径。 RecordReader RecordReader从InputSplit读入数据对。RecordReader将InputSplit提供得面向字节的的输入转换为面向行的分片给Mapper实现类来处理。RecordReader的责任就是处理行边界并以kv方式将数据传给mapper作业。 作业输出OutFormat描述作业的输出信息。MR框架使用OutputFormat来处理: 验证作业的输出信息。例如验证输出路径是否存在. 提供RecordWriter实现来写作业的输出文件。输出文件存储在文件系统中。TextOutputFormat是默认的输出格式。 OutputCommitter OutputCommitter是MR作业的输出提交对象。MR框架使用它来处理: 初始化时准备作业。例如,作业初始化时创建临时输出路径。作业准备阶段通过一个独立的任务在作业的PREP状态时完成,然后初始化作业的所有任务。一旦准备阶段完成,作业状态切换到Running状态。 作业完成后清理作业。例如,在作业完成后清理输出临时路径。作业清

文档评论(0)

173****7830 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档