本文概述
在本节中, 我们重点介绍MapReduce API。在这里, 我们了解MapReduce编程中使用的类和方法。
MapReduce Mapper类别
在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>类) | 此方法用于设置作业的减速器。 |
评论前必须登录!
注册