MapReduce API2024 年 8 月 28 日 | 3 分钟阅读 在本节中,我们关注 MapReduce API。在这里,我们学习 MapReduce 编程中使用的类和方法。 MapReduce Mapper 类在 MapReduce 中,Mapper 类的作用是将输入键值对映射到一组中间键值对。它将输入记录转换为中间记录。 这些中间记录与给定的输出键关联,并传递给 Reducer 以进行最终输出。 Mapper 类的方法void cleanup(Context context) | 此方法仅在任务结束时调用一次。 | void map(KEYIN key, VALUEIN value, Context context) | 此方法可以为输入拆分中的每个键值对调用一次。 | void run(Context context) | 此方法可以被覆盖以控制 Mapper 的执行。 | void setup(Context context) | 此方法仅在任务开始时调用一次。 |
MapReduce Reducer 类在 MapReduce 中,Reducer 类的作用是减少一组中间值。它的实现可以通过 JobContext.getConfiguration() 方法访问作业的配置。 Reducer 类的方法void cleanup(Context context) | 此方法仅在任务结束时调用一次。 | void map(KEYIN key, Iterable<VALUEIN> values, Context context) | 此方法仅为每个键调用一次。 | void run(Context context) | 此方法可用于控制 Reducer 的任务。 | void setup(Context context) | 此方法仅在任务开始时调用一次。 |
MapReduce Job 类Job 类用于配置作业并提交它。它还控制执行并查询状态。一旦作业被提交,set 方法将抛出 IllegalStateException。 Job 类的方法方法 | 描述 |
---|
Counters getCounters() | 此方法用于获取作业的计数器。 | long getFinishTime() | 此方法用于获取作业的完成时间。 | Job getInstance() | 此方法用于生成一个没有任何集群的新 Job。 | Job getInstance(Configuration conf) | 此方法用于生成一个没有任何集群并提供配置的新 Job。 | Job getInstance(Configuration conf, String jobName) | 此方法用于生成一个没有任何集群并提供配置和作业名称的新 Job。 | String getJobFile() | 此方法用于获取已提交作业配置的路径。 | String getJobName() | 此方法用于获取用户指定的作业名称。 | JobPriority getPriority() | 此方法用于获取作业的调度功能。 | void setJarByClass(Class<?> c) | 此方法用于通过提供类名和 .class 扩展来设置 jar。 | void setJobName(String name) | 此方法用于设置用户指定的作业名称。 | void setMapOutputKeyClass(Class<?> class) | 此方法用于设置 map 输出数据的键类。 | void setMapOutputValueClass(Class<?> class) | 此方法用于设置 map 输出数据的值类。 | void setMapperClass(Class<? extends Mapper> class) | 此方法用于为作业设置 Mapper。 | void setNumReduceTasks(int tasks) | 此方法用于设置作业的 reduce 任务数。 | void setReducerClass(Class<? extends Reducer> class) | 此方法用于为作业设置 Reducer。 |
|