假设必须分析大量的Webserver-Access-Logs。这些日志是文本文件,它们每行登记一次访问。第一个(由空格分隔)列包含所访问页面的URL。目的是创建一个报告,列出所有URL以及命中数。如何为每一步写一个伪代码?
答案 0 :(得分:0)
基本上你所做的只是WordCount,但有URL。
剥离" psudeocode" straight from the tutorial。
class Mapper {
final IntWritable ONE = new IntWritable(1);
map(LongWritable key, Text value, Context context) {
String[] columns = value.split(" ");
String url = columns[0];
context.write(url, ONE);
}
}
class Reducer {
IntWritable result = new IntWritable();
reduce(Text key, Iterable<IntWritable> values, Context context) {
int sum = sum(values);
result.set(sum);
context.write(key, result);
}
}