java - HBase 映射减少 : write into HBase in Reducer

标签 java hadoop mapreduce hbase

我正在学习 HBase。我知道如何使用 Hadoop MapReduce 编写 Java 程序并将输出写入 HDFS;但现在我想将相同的输出写入 HBase,而不是 HDFS。它应该有一些类似的代码,就像我之前在 HDFS 中所做的那样:

context.write(key,value);

谁能给我一个例子来实现这个?

最佳答案

这是一种方法:

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;
   }
}

您可以在这里阅读关于 Table Mapper 的信息

关于java - HBase 映射减少 : write into HBase in Reducer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18603031/

相关文章:

java - 使用 Hibernate Search (Lucene) 查询不带空格的术语以匹配带空格的字段值

hadoop - 固件 Cosmos Hive 授权问题

java - 在 mac os 上配置 hadoop namenode 时出现 yarn-site.xml 错误

javascript - 通过获取最新文档来减少mongodb的输出

java - 映射减少输出到oracle数据库?

java - 在javabean getter中设置cookie

java - Java 的 MessageFormat 是否可以接收堆栈跟踪?

JavaCV RedHat Linux 6.6 x64 NoClassDefFound : Could not initialize class org. bytedeco.javacpp.avutil

scala - NLineInputFormat 在 Spark 中不起作用

java - Java中泛型这 block 怎么理解?