package com.sxt.hbase;
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
public class WCJob {
public static void main(String[] args) throws Exception {
Configuration conf = new Configuration();
conf.set("fs.defaultFS", "hdfs://node01:8020");
// 完全分布式HBase集群 指定ZooKeeper集群地址
// 伪分布式 单独指定那一台HBase节点
conf.set("hbase.zookeeper.quorum", "node02,node03,node04");
Job job = Job.getInstance(conf);
job.setJarByClass(com.sxt.hbase.WCJob.class);
job.setMapperClass(WCMapper.class);
job.setMapOutputKeyClass(Text.class);
job.setMapOutputValueClass(IntWritable.class);
// boolean addDependencyJars 本地运行 该参数应该设置为false;集群方式运�?该参�?默认为true即可
// TableMapReduceUtil.initTableReducerJob("wc", WCReducer.class, job);
TableMapReduceUtil.initTableReducerJob("wc", WCReducer.class, job, null, null, null, null, false);
Path path = new Path("/usr/wc");
FileInputFormat.addInputPath(job, path);
job.waitForCompletion(true);
}
}