一.job
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<String, Boolean> policies, boolean areFiles) | 设置共享缓存上传策略配置参数 |
Map<String, Boolean> | getSharedCacheUploadPolicies(Configuration conf, boolean areFiles) | 从配置参数反序列化共享缓存上传策略的映射 |
Map<String, Boolean> | getFileSharedCacheUploadPolicies(Configuration conf) | 获取文件的共享缓存上传策略 |
Map<String, Boolean> | 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 |