public class MyMapper extends TableMapper<Text, IntWritable> { @Override protected void map(ImmutableBytesWritable k1, Result v1, Mapper<ImmutableBytesWritable, Result, Text, IntWritable>.Context context) throws IOException, InterruptedException { String city = Bytes.toString(v1.getValue(Bytes.toBytes("address"), Bytes.toBytes("city"))); context.write(new Text(city), new IntWritable(1)); } }
时间: 2024-02-26 19:52:57 浏览: 101
Mybatis增删改查mapper文件写法详解
5星 · 资源好评率100%
这段代码是一个Hadoop MapReduce程序的Mapper类,该Mapper类用于从HBase表中读取数据,并将数据按城市进行分组统计。
具体来说,该Mapper类继承自TableMapper<Text, IntWritable>,其中Text代表城市名称,IntWritable代表该城市出现的次数。在map()方法中,首先通过Result对象获取到该行数据中“address”列族下的“city”列的值,并将其转换为字符串类型的城市名称。接着,将该城市名称作为Text类型作为输出的key,将IntWritable类型的1作为输出的value,最后将key-value键值对写入到Mapper的Context对象中。
此Mapper类的输出结果将作为Reducer的输入,Reducer将对相同城市名称的数据进行聚合操作,统计每个城市出现的次数。
阅读全文