package com.taobao.app;
import java.io.IOException;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Mapper;
public class AccessLogMapper extends Mapper<Object, Text, Text, Text> {
public void map(Object key, Text value, Context context) throws IOException {
String temp[] = value.toString().split(" ");
String k = temp[0];
String v = temp[1];
System.out.println("mapper: key " + k + "value " + v);
try {
context.write(new Text(k), new Text(v));
} catch (InterruptedException e) {
}
}
}
package com.taobao.app;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
import org.apache.hadoop.hbase.mapreduce.TableReducer;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.io.Text;
public class AccessLogReducer extends TableReducer<Text, Text, ImmutableBytesWritable > {
public void reduce(Text arg0, Iterable<Text> arg1, Context context) {
String k =arg0.toString();
String v =arg1.iterator().next().toString();
ImmutableBytesWritable key = new ImmutableBytesWritable(Bytes.toBytes(k));
Put put = new Put(Bytes.toBytes(k));
put.add(Bytes.toBytes("f1"), Bytes.toBytes("qualifier"), Bytes .toBytes(v));
System.out.println("reduce key:"+k+ " value:"+ v );
try {
context.write(key, put);
} catch (Exception e) {
}
}
}
package com.taobao.app;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.conf.Configured;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.input.TextInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
import org.apache.hadoop.util.Tool;
public class LogAnalysiser extends Configured implements Tool {
public int run(String[] args) throws Exception{
Configuration conf=new Configuration();
c