MapReduce API介绍和用法

本文概述

  • MapReduce Mapper类别
  • MapReduce Reducer类别
  • MapReduce作业类别
在本节中, 我们重点介绍MapReduce API。在这里, 我们了解MapReduce编程中使用的类和方法。
MapReduce Mapper类别【MapReduce API介绍和用法】在MapReduce中, Mapper类的作用是将输入键值对映射到一组中间键值对。它将输入记录转换为中间记录。
这些中间记录与给定的输出键关联, 并传递给Reducer作为最终输出。
映射器类的方法
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()方法访问作业的Configuration。
减速器分类方法
void cleanup(Context context) 该方法在任务结束时仅调用一次。
无效映射(KEYIN键, Iterable < VALUEIN> 值, 上下文上下文) 此方法仅对每个键调用一次。
void run(Context context) 此方法可用于控制减速器的任务。
void setup(Context context) 该方法在任务开始时仅调用一次。
MapReduce作业类别Job类用于配置作业并提交。它还控制执行和查询状态。提交作业后, set方法将引发IllegalStateException。
工作类别的方法
方法 描述
Counters getCounters() 此方法用于获取作业的计数器。
long getFinishTime() 此方法用于获取作业的完成时间。
Job getInstance() 此方法用于生成没有任何群集的新作业。
Job getInstance(Configuration conf) 此方法用于生成没有任何群集和提供的配置的新作业。
Job getInstance(Configuration conf, String jobName) 此方法用于生成没有任何群集以及提供的配置和作业名称的新作业。
String getJobFile() 此方法用于获取提交的作业配置的路径。
String getJobName() 此方法用于获取用户指定的作业名称。
JobPriority getPriority() 此方法用于获取作业的调度功能。
无效setJarByClass(Class < ?> c) 此方法用于通过提供带有.class扩展名的类名称来设置jar。
void setJobName(String name) 此方法用于设置用户指定的作业名称。
void setMapOutputKeyClass(Class < ?> class) 此方法用于设置地图输出数据的键类。
void setMapOutputValueClass(Class < ?> class) 此方法用于设置地图输出数据的值类别。
setMapperClass(Class < ?extended Mapper> 类) 此方法用于设置作业的映射器。
void setNumReduceTasks(int tasks) 此方法用于设置作业的缩减任务数量
void setReducerClass(Class < ?extended Reducer> 类) 此方法用于设置作业的减速器。

    推荐阅读