public static class MyMapper extends TableMapper<ImmutableBytesWritable, Put> {
public void map(ImmutableBytesWritable row, Result value, Context context) throws IOException, InterruptedException {
// this example is just copying the data from the source table...
context.write(row, resultToPut(row,value));
}
private static Put resultToPut(ImmutableBytesWritable key, Result result) throws IOException {
Put put = new Put(key.get());
for (KeyValue kv : result.raw()) {
put.add(kv);
}
return put;
}
}
2条答案
按热度按时间vqlkdk9b1#
在设置作业时,应该能够使用tableoutputformat,而不是使用fileoutputformat。
http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/mapreduce/tableoutputformat.html
你还得修改一下你的减速机。
引用上一页:
转换map/reduce输出并将其写入hbase表。当输出值必须是put或delete示例时,将忽略该键。
e0bqpujr2#
有一种方法:
您可以在这里阅读有关表Map器的内容