目录
MapReduce on HBase
流程图☆
不能直接穿到底层去读取 HFile ,因为有一部分数据在 MemStore 中,所以要去和 RegionServer 建立连接,获取数据一个 region 会生成一个切片,即对应一个 Map 任务,本质上是通过 Scan 获取数据
TableInputFormat -- region数据在进入Map的时候的数据格式化类
TableOutputFormat -- 数据由Reduce写入HBase时的数据格式化类
MapReduce 读取 HBase 代码示例
package com.shujia;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.client.Scan;
import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
import org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil;
import org.apache.hadoop.hbase.mapreduce.TableMapper;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.Mapper;
import org.apac