Hadoop还为mapper和reducer提供了一个包含了常用函数的库。表9-8简要描述了这些类。如需了解详细用法,可参考相关Java文档。
类的名称 | 描述 |
ChainMapper,ChainReducer | 在一个mapper中运行多个mapper,再运行一个reducer,随后在一个reducer中运行多个mapper。(符号表示:M+RM*,其中M是mapper,R是reducer.)与运行多个MapReduce作业相比,该方案能够显著降低磁盘I/O开销 |
FieldSelectionMapReduce (旧版API):FieldSelectionMapper 和FieldSelectionReducer(新版API) | 能从输人键和值中选择字段(类似Unix的cut命令),并输出键和值的mapper和reducer |
IntSumReducer,LongSumReducer | 对各键的所有整数值执行求和操作的reducer |
InverseMapper | 一个能交换键和值的mapper |
MultithreadedMapRunner(旧版API) Mu1tithreadedMapper(新版API) | 一个能在多个独立线程中分别并发运行mapper的mapr(或者旧版API中的maprunner).该技术对于非CPU受限的mapper比较有用 |
TokenCounterMapper | 将输人值分解成独立的单词(使用Java的stringTokenizer)并输出每个单词和计数值1的mapper |
RegexMapper | 检查输人值是否匹配某正則表达式,输出匹配字符串和计数为1的mapper |