今天阅读了zhangqinghao9203专栏中的2篇文章:
但是,对于MapReduce核心调用的代码还是不明觉利,特别是对于OutputCollector,Iterator,Reporter在分布式环境中的用法和行为模式还是不甚明了。看来,我还是需要找一些Hadoop的算法原理性的文章研究研究。
public void map(Object key, Text value, OutputCollector output, Reporter reporter) throws IOException
{
KPI kpi = KPI.filterPVs(value.toString());
if (kpi.isValid()) { word.set(kpi.getRequest()); output.collect(word, one); }
}
public void reduce(Text key, Iterator values, OutputCollector output, Reporter reporter) throws IOException
{
int sum = 0;
while (values.hasNext()) { sum += values.next().get(); }
result.set(sum);
output.collect(key, result);
}
虽然,没完全看懂,但是对MapReduce还是有了新的认识。算是一点点小收获吧。