大数据全系列 教程
1869个小节阅读:465.2k
目录
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
6、Hdfs2HbaseReducer:
xxxxxxxxxx
package com.itbaizhan.hdfs2hbase;
import org.apache.hadoop.hbase.client.Mutation;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.mapreduce.TableReducer;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Reducer;
import java.io.IOException;
/** class TableReducer<KEYIN, VALUEIN, KEYOUT>
extends Reducer<KEYIN, VALUEIN, KEYOUT, Mutation>
*/
public class Hdfs2HbaseReducer extends TableReducer<Text, IntWritable,Text> {
@Override
protected void reduce(Text key, Iterable<IntWritable> values, Reducer<Text, IntWritable, Text, Mutation>.Context context) throws IOException, InterruptedException {
//定义变量sum,表示当前单词出现的总次数
int sum = 0;
//遍历values
for(IntWritable value:values){
sum += value.get();
}
//创建Put类的对象,单词左右rowkey
//Put put = new Put(Bytes.toBytes(key.toString()));
Put put = new Put(key.toString().getBytes());
//为put指定列
put.addColumn("cf".getBytes(),"count".getBytes(),Bytes.toBytes(sum));
//输出
context.write(key,put);
}
}