首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Hbase中的批量增量

Hbase中的批量增量
EN

Stack Overflow用户
提问于 2015-05-13 16:37:50
回答 2查看 2.6K关注 0票数 1

当我尝试对hbase表进行批处理增量时(没有行键副本)

代码语言:javascript
运行
复制
 final List<Increment> increments = countPerUid.entrySet().stream()
                .map(entry -> {
                    Increment increment = new Increment(toBytes(entry.getKey()));
                    increment.addColumn(toBytes(conf.parentColumnFamily()), toBytes(conf.parentRankQualifier()), entry.getValue());
                    return increment;
                }).collect(Collectors.toList());

 public BatchOperationResult batchIncrement(HTable table, List<Increment> rows) {
        Object[] results = new Object[rows.size()];
        try {
            table.batch(rows, results);
        } catch (IOException | InterruptedException e) {
            Throwables.propagate(e);
        }
        return new BatchOperationResult(results);
    }

我有这样的例外:

代码语言:javascript
运行
复制
    2015-05-13 09:53:43,674 [Thread-9] ERROR hbase_query_layer.service.HbaseLayerServiceHandlerImpl - java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.RuntimeException: org.apache.hadoop.hbase.client.RetriesExhaustedWithDetailsException:
 Failed 14896 actions: org.apache.hadoop.hbase.exceptions.OperationConflictException: The operation with nonce {-3517837563370374612, -1595005354043534544} on row [298270339298463040] may have already completed

有人知道为什么?

我有Hbase 0.98.0

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-09 07:08:08

作为一种临时解决方案,需要为较小的块拆分增量批处理。

票数 0
EN

Stack Overflow用户

发布于 2015-05-14 22:01:24

不相关,但我建议在这里尝试高效的无读增量,因为很明显,您试图通过批处理来加快增量。

HBase 0.98的示例可以在这里找到:https://github.com/caskdata/cdap-hbase-increments

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30220636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档