MapReduce之TableMapper类
1.源码
package org.apache.hadoop.hbase.mapreduce;
import org.apache.hadoop.hbase.classification.InterfaceAudience;
import org.apache.hadoop.hbase.classification.InterfaceStability;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
import org.apache.hadoop.mapreduce.Mapper;
@param <KEYOUT> The type of the key.
@param <VALUEOUT> The type of the value.
@see org.apache.hadoop.mapreduce.Mapper
@InterfaceAudience.Public
@InterfaceStability.Stable
public abstract class TableMapper<KEYOUT, VALUEOUT>
extends Mapper<ImmutableBytesWritable, Result, KEYOUT, VALUEOUT> {
}
二.简介
2.1 参数简介
Extends the base Mapper class to add the required input key and value classes.
TableMapper
继承自Mapper
类。但是Mapper
类有四个输入泛型,为何这里的TableMapper
只有两个呢?通过源码,可以看到TableMapper
的KEYIN,VALUEIN
分别设置为ImmutabelBytesWriteable
和Result
类型,所以只需要实现KEYOUT,VALUEOUT
即可。
2.2 这里的TableMapper类完全是为了从HBase
中读取数据而设置的,也就是说,这个TableMapper是专为HBase定义的抽象类。
三.示例
实战程序详见我的 电信大数据项目