hadoop中的MapReduce可以使用Java进行MapReduce的逻辑撰写。其中就需要job进行相关配置。job作为MapReduce的配置信息以及启动项直接打包成jar包,hadoop可以运行这个jar包实现mapreduce的功能。本文主要从源码中,将job的配置项信息提取出来,希望对大家对于hadoop的学习和工作有所帮助。
二、job的方法详细介绍| 返回值 | 方法 | 描述 |
|---|---|---|
| String | getTrackingURL() | 获取将显示某些作业进度信息的 URL |
| String | getJobFile() | 获取提交的作业配置的路径 |
| Long | getStartTime() | 获取作业开始时间 |
| Long | getFinishTime() | 获取作业结束时间 |
| String | getSchedulingInfo() | 获取作业调度信息 |
| JobPriority | getPriority() | 获取作业的优先级 |
| String | getJobName() | 获取作业的名称 |
| String | getHistoryUrl() | 获取历史的URL路径 |
| boolean | isRetired() | 判断节点是否已经退役 |
| Cluster | getCluster() | 获取集群 |
| void | setCluster | 设置集群 |
| String | getTaskFailureEventString() | 返回导致作业失败的原因 |
| TaskReport[] | getTaskReports | 获取作业任务的当前状态信息。 |
| float | mapProgress() | 获取Map作业执行进度 |
| float | reduceProgress() | 获取Reduce作业执行进度 |
| float | cleanupProgress() | 获取作业清理任务的进度 |
| float | setupProgress() | 获取初始化任务的进度 |
| boolean | isComplete() | 检查作业是否完成 |
| boolean | isSuccessful() | 判断作业是否成功 |
| void | killJob() | 关闭正在运行的作业 |
| void | setPriority(JobPriority jobPriority) | 设置作业的优先级 |
| void | setPriorityAsInteger(int jobPriority) | 设置作业优先级 |
| int | convertPriorityToInteger(JobPriority jobPriority) | 将一个作业的优先级返回为int类型,其数值范围为0-5,数值越大优先级越大 |
| TaskCompletionEvent[] | getTaskCompletionEvents(final int startFrom, final int numEvents) | 获取指示组件任务完成(成功/失败)的事件 |
| TaskCompletionEvent[] | getTaskCompletionEvents(final int startFrom) | 获取指示组件任务完成(成功/失败)的事件 |
| boolean | killTask(final TaskAttemptID taskId, final boolean shouldFail) | 关闭指示的任务 |
| void | killTask(final TaskAttemptID taskId) | 关闭指示的任务 |
| void | failTask(final TaskAttemptID taskId) | 指定任务失败 |
| Counters | getCounters() | 获取当前作业的当前计数 |
| String[] | getTaskDiagnostics(final TaskAttemptID taskid) | 获取给定任务尝试的诊断消息 |
| void | setNumReduceTasks(int tasks) | 设定ReduceTask的数量 |
| void | setWorkingDirectory(Path dir) | 设置默认文件系统的当前工作目录。 |
| void | **setInputFormatClass(Class extends InputFormat> cls ) ** | 设置job的输入格式(InputFormat) |
| void | **setOutputFormatClass(Class extends OutputFormat> cls) ** | 设置job的输出格式(OutputFormat) |
| void | setMapperClass(Class extends Mapper> cls ) | 设置job的Mapper |
| void | setJarByClass(Class> cls) | 通过查找给定类的来源来设置 Jar |
| void | setJar(String jar) | 设置作业 jar |
| void | setUser(String user) | 为作业(job)设置报告的用户名称 |
| void | setCombinerClass(Class extends Reducer> cls) | 为作业设置组合器类(Combiner) |
| void | setReducerClass(Class extends Reducer> cls) | 为作业设置Reducer |
| void | setPartitionerClass(Class extends Partitioner> cls ) | 设置job的Partitioner,用于作业切片 |
| void | setMapOutputKeyClass(Class> theClass) | 设置Map作业输出键值对的键类型 |
| void | setMapOutputValueClass(Class> theClass) | 设置Map作业输出的键值对的值类型 |
| void | setOutputKeyClass(Class> theClass) | 设置作业输出键值对的键类型 |
| void | setOutputValueClass(Class> theClass) | 设置作业输出键值对的值类型 |
| void | setCombinerKeyGroupingComparatorClass (Class extends RawComparator> cls) | 定义比较器,该比较器控制将哪些键组合在一起以进行对组合器的单次调用 |
| void | setSortComparatorClass(Class extends RawComparator> cls) | 定义排序比较器 |
| void | setGroupingComparatorClass(Class extends RawComparator> cls) | 定义比较器,该比较器控制将哪些键组合在一起以进行对Reducer.reduce(Object, Iterable, Reducer.Context)的单个调用 |
| void | setJobName(String name) | 设置用户指定的作业名称。 |
| void | setSpeculativeExecution(boolean speculativeExecution) | 为此作业打开或关闭推测执行 |
| void | setMapSpeculativeExecution(boolean speculativeExecution) | 为Map任务打开或关闭此作业的推测执行 |
| void | setReduceSpeculativeExecution(boolean speculativeExecution) | 为reduce 任务打开或关闭此作业的推测执行 |
| void | setJobSetupCleanupNeeded(boolean needed) | 指定作业是否需要作业设置和作业清理 |
| void | setCacheArchives(URI[] archives) | 设置一个缓存集合 |
| void | setCacheFiles(URI[] files) | 设置缓存文件 |
| void | addCacheArchive(URI uri) | 增加本地缓存 |
| void | addCacheFile(URI uri) | 增加本地缓存文件 |
| void | addFileToClassPath(Path file) | 将文件路径添加到当前的类路径条目集 它还将文件添加到缓存 |
| void | addArchiveToClassPath(Path archive) | 将归档路径添加到当前的类路径条目集 |
| void | createSymlink() | 最初打算启用符号链接,但目前无法禁用符号链接 |
| void | setMaxMapAttempts(int n) | 设置运行Map任务的最大尝试次数 |
| void | setMaxReduceAttempts(int n) | 设置运行Reduce任务的最大尝试次数 |
| void | setProfileEnabled(boolean newValue) | 设置系统是否应该为此作业中的某些任务收集分析器信息 |
| void | setProfileParams(String value) | 设置探查器配置参数 |
| void | setProfileTaskRange(boolean isMap, String newValue) | 设置Map的范围或缩小到轮廓 |
| void | setCancelDelegationTokenUponJobCompletion(boolean value) | 设置允许 JobTracker 在作业完成时取消 HDFS 委托令牌的标志 |
| void | setUseNewAPI() | 默认为新 API,除非它们被明确设置或使用旧的 mapper 或 reduce 属性 |
| void | setSharedCacheUploadPolicies(Configuration conf,Map | 设置共享缓存上传策略配置参数 |
| Map | getSharedCacheUploadPolicies(Configuration conf, boolean areFiles) | 从配置参数反序列化共享缓存上传策略的映射 |
| Map | getFileSharedCacheUploadPolicies(Configuration conf) | 获取文件的共享缓存上传策略 |
| Map | getArchiveSharedCacheUploadPolicies( Configuration conf) | 获取}的共享缓存上传策略 |
| void | connect() | 连接 |
| boolean | isConnected() | 判断是否连接 |
| JobSubmitter | getJobSubmitter(FileSystem fs, ClientProtocol submitClient) | 仅用于通过单元测试进行模拟,获取作业提交 |
| void | submit() | 将作业提交到集群并立即返回 |
| boolean | waitForCompletion(boolean verbose) | 将作业提交到集群并等待它完成 |
| boolean | monitorAndPrintJob() | 在取得进展和任务失败时实时监控作业和打印状态 |
| void | printTaskEvents(TaskCompletionEvent[] events,Job.TaskStatusFilter filter, boolean profiling, IntegerRanges mapRanges,IntegerRanges reduceRanges) | 输出任务事件 |
| int | getProgressPollInterval(Configuration conf) | monitorAndPrintJob() 打印状态的间隔 |
| int | getCompletionPollInterval(Configuration conf) | waitForCompletion() 应该检查的时间间隔 |
| TaskStatusFilter | getTaskOutputFilter(Configuration conf) | 获取任务输出过滤器 |
| void | setTaskOutputFilter(Configuration conf,TaskStatusFilter newValue) | 修改配置以设置任务输出过滤器 |
| ReservationId | getReservationId() | 获取提交作业的预留 |
| void | setReservationId(ReservationId reservationId) | 设置作业提交到的预留 |
| void | close() | 关闭job |



