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。 |
|