环境:centos7+hadoop3.0.3+hbase2.0.1+jdk8
HBase的MapReduce操作
注意事项:
* Map继承TableMapper
* Reduce继承TableReducer
* 最后Reduce输出的value的类型是Mutation
* 通过TableMapReduceUtil来设置相关信息
实例:统计行键并添加到指定列族
public class RowCountMR extends Configured implements Tool {
public static void main(String[] args) throws Exception {
ToolRunner.run(new RowCountMR(), args);
}
@Override
public int run(String[] args) throws Exception {
// 设置配置信息
Configuration conf = getConf();
conf.set("hbase.zookeeper.quorum","hadoop5:2181");
conf.set("hbase.master.dns.interface", "hadoop5");
// 创建job对象
Job job = Job.getInstance(conf,"xj_count");
// 创建扫描对象
Scan scan = new Scan();
// 创建Map任务,传入表名、scan、Mapper类、map输出key类型、map输出value类型、job
TableMapReduceUtil.initTableMapperJob(conf.get("inpath"), scan, RCMapper.class, Text.class, IntWritable.class, job);
// 创建Reduce对象,传入表名、Reducer类、job
TableMapReduceUtil.initTableReducerJob(conf.get