从HBASE中读取数据,继承的是TableMapper,不是Mapper,map端主要是从HBASE上获取数据,然后进行输出,输出类型自己可以随意定义。
代码如下:
package HbaseMR;
import org.apache.hadoop.hbase.Cell;
import org.apache.hadoop.hbase.CellUtil;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
import org.apache.hadoop.hbase.mapreduce.TableMapper;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.io.Text;
import java.io.IOException;
//map端输出两个参数,不是输入
public class MyMap extends TableMapper<Text, HbaseBean2> {
// HbaseBean hb = new HbaseBean();
HbaseBean2 v = new HbaseBean2();
Text k1 = new Text();
@Override
//key是rowkey value是rowcell,前两个是输入参数,context是输出
protected void map(ImmutableBytesWritable key, Result value, Context context)
throws IOException, InterruptedException {
//遍历添加 column 行
// value.getColumn(value.get, B