/**
* A map/reduce job configuration.
* 翻译:一个map/reduce作业配置
* <p><code>JobConf</code> is the primary interface for a user to describe a
* map-reduce job to the Hadoop framework for execution. The framework tries to
* faithfully execute the job as-is described by <code>JobConf</code>, however:
* 翻译:JobConf是用户描述一个Hadoop框架将要执行的map-reduce作业的最基本的接口。框架试图按照JobConf所描述的那样去执行作业,然而:
* <ol>
* <li>
* Some configuration parameters might have been marked as
* <a href="{@docRoot}/org/apache/hadoop/conf/Configuration.html#FinalParams">
* final</a> by administrators and hence cannot be altered.
* 翻译:一些配置参数可能已经被管理员标记为final,因此不能被改变
* </li>
* <li>
* While some job parameters are straight-forward to set
* (e.g. {@link #setNumReduceTasks(int)}), some parameters interact subtly
* rest of the framework and/or job-configuration and is relatively more
* complex for the user to control finely (e.g. {@link #setNumMapTasks(int)}).
* 翻译:然而,一些作业参数直接被设置了,比如setNumReduceTasks(int),一些参数和其余的框架或者作业配置进行交互,这些参数相对比较复杂,
用户不能很好地控制。
* </li>
* </ol></p>
*
* <p><code>JobConf</code> typically specifies the {@link Mapper}, combiner
* (if any), {@link Partitioner}, {@link Reducer}, {@link InputFormat} and
* {@link OutputFormat} implementations to be used etc.
* 翻译:JobConf通常需要指定(说明)将被用到的Mapper、Combiner(如果有的话),Partitioner、Reducer、InputFormat和OutptFormat的实现。
*
* <p>Optionally <code>JobConf</code> is used to specify other advanced facets
* of the job such as <code>Comparator</code>s to be used, files to be put in
* the {@link DistributedCache}, whether or not intermediate and/or job outputs
* are to be compressed (and how), debugability via user-provided scripts
* ( {@link #setMapDebugScript(String)}/{@link #setReduceDebugScript(String)}),
* for doing post-processing on task logs, task's stdout, stderr, syslog.
* and etc.</p>
* 翻译:JonCOnf可以被用来指定作业将被用到的其他高级配置(高等的方面、高级的方面),比如Comparator。文件被放进DistributedCache,
* 无论中间输出或者作业输出是否被压缩,它们如何被压缩,通过用户提供脚本来产生的debugability(setMapDebugScript(String)、 setReduceDebugScript(String)),可以后置处理任务日志,任务输出,系统日志等等。
* <p>Here is an example on how to configure a job via <code>JobConf</code>:</p>
翻译:这里有一个例子,关于如何使用JobConf来配置一个作业。
* <p><blockquote><pre>
* // Create a new JobConf 翻译:创建一个JobConf
* JobConf job = new JobConf(new Configuration(), MyJob.class);
*
* // Specify various job-specific parameters 翻译:指定一些列作业的具体参数
* job.setJobName("myjob");
*
* FileInputFormat.setInputPaths(job, new Path("in"));
* FileOutputFormat.setOutputPath(job, new Path("out"));
*
* job.setMapperClass(MyJob.MyMapper.class);
* job.setCombinerClass(MyJob.MyReducer.class);
* job.setReducerClass(MyJob.MyReducer.class);
*
* job.setInputFormat(SequenceFileInputFormat.class);
* job.setOutputFormat(SequenceFileOutputFormat.class);
* </pre></blockquote></p>
*
* @see JobClient
* @see ClusterStatus
* @see Tool
* @see DistributedCache
*/