HBase和MapReduce集成
public class CustomJobSubmiter extends Configured implements Tool {
public int run(String[] args) throws Exception {
Configuration config = HBaseConfiguration.create(getConf());
Job job = Job.getInstance(config);
job.setJarByClass(CustomJobSubmiter.class);
job.setInputFormatClass(TableInputFormat.class);
job.setOutputFormatClass(TableOutputFormat.class);
TableMapReduceUtil.initTableMapperJob(
"zpark:t_user",
new Scan(),
UserMapper.class,
Text.class,
DoubleWritable.class,
job
);
TableMapReduceUtil.initTableReducerJob(
"zpark:t_user_count",
UserReducer.class,
job
);
job.setCombinerClass(UserCombiner.class);
job.waitForCompletion(true);
return 0;
}
public static void main(String[] args) throws Exception {
ToolRunner.run(new CustomJobSubmiter(),args);
}
public static class UserMapper extends TableMapper<Text, CountWritable>{