public void map(Text key, IntWritable value, Context context) throws Exception {
String line = value.toString(); //this will be your key in the final output
/*
Perform operations on the line
*/
/*
standard values = <return value from sybase query.>;
*/
/*Perform benchmark calculations and obtain benchmark values */
context.write(line,benchmarkValue);
}
1条答案
按热度按时间huwehgph1#
因此,对于每一行输入,您将查询一个数据库,然后分别对每一行执行基准计算。完成基准计算后,您将输出每一行的基准值。
在这种情况下,您可以根本不使用缩减器,也可以使用标识缩减器。
因此,map函数将读入一行,然后向sybase数据库发出标准值查询,然后执行基准计算。因为您希望输出每一行的基准值,所以可以让map函数将该行作为键输出,将基准值作为值输出,即
<line, benchmark value>
您的map函数如下所示:(我假设您的基准值是一个整数)