本文共 2271 字,大约阅读时间需要 7 分钟。
package translate1;import java.io.IOException;import org.apache.hadoop.conf.*;import org.apache.hadoop.fs.Path;import org.apache.hadoop.mapreduce.*;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.lib.input.*;import org.apache.hadoop.hbase.HBaseConfiguration;import org.apache.hadoop.hbase.io.*;import org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil;import org.apache.hadoop.hbase.client.Put;import org.apache.hadoop.hbase.util.Bytes;public class translate1 { public static Job createSubmittableJob(Configuration conf, String[] args)throws IOException { String tableName = args[0]; Path inputDir = new Path(args[1]); @SuppressWarnings("deprecation") Job job = new Job (conf, "hac_chapter2_recipe3"); job.setJarByClass(HourlyImporter.class); FileInputFormat.setInputPaths(job, inputDir); job.setMapperClass(HourlyImporter.class); TableMapReduceUtil.initTableReducerJob(tableName, null, job); job.setNumReduceTasks(0); TableMapReduceUtil.addDependencyJars(job); return job; } public static void main(String[] args)throws Exception { Configuration conf = HBaseConfiguration.create(); Job job = createSubmittableJob(conf, args); System.exit (job.waitForCompletion(true) ? 0 : 1); } } class HourlyImporter extends Mapper{ private long ts; static byte[] family = Bytes.toBytes("n"); @Override protected void setup(Context context) { ts = System.currentTimeMillis(); } public static String change(String str,int n,boolean j){ if(str==null||str.length()>=n) return str; String s=""; for(int i=str.length();i