`
luoshi0801
  • 浏览: 147635 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

异步hbase的用法

 
阅读更多

异步hbase包asynchbase-1.4.1.jar,maven的pom如下:

<dependency>
  <groupId>org.hbase</groupId>
  <artifactId>asynchbase</artifactId>
  <version>1.4.1</version>
</dependency>

 

HBaseClient client = new HBaseClient("test036083.sqa.cm4.tbsite.net");

//生成一个PutRequest对象

 byte[][] qualifiers = new byte[kvs.size()][];
 byte[][] values = new byte[kvs.size()][];

PutRequest put = new PutRequest("table-name".getBytes(), "kv".getBytes(), "columnFamily".getBytes(), qualifiers, values, System.currentTimeMillis())

//异步写入

Deferred<Object> d= client.put(put);

d.addErrback(new Callback<Object, Exception> {
        @Override
        public Object call(final Exception arg) {
            if (arg instanceof PleaseThrottleException) {
                final PleaseThrottleException e = (PleaseThrottleException) arg;
                LOG.warn("Need to throttle, HBase isn't keeping up.", e);
                throttle = true;
                final HBaseRpc rpc = e.getFailedRpc();
                if (rpc instanceof PutRequest) {
                    client.put((PutRequest) rpc); // Don't lose edits.
                }
                return null;
            }
            return arg;
        }

        @Override
        public String toString() {
            return "importFile errback";
        });

 

Deferred类似于JDK中的异步线程返回对象Future,这里加了个Callback对象是当Deferred为available时且是一个异常,就会执行加入的Callback对象。

异步hbase大大提供了大数据量下hbase的写入性能,是一个不错的优化点~

分享到:
评论

相关推荐

    java-hbase开发包

    4. 数据操作:使用`Table`对象的`put()`方法写入数据,`get()`方法读取数据,`scan()`方法进行范围扫描。 5. 关闭资源:操作完成后,记得关闭`Table`和`Connection`,释放资源。 **最佳实践:** 1. **合理设计行...

    hbase 的java代码 集合 hbase 0.96

    1. **连接HBase**:在Java代码中,我们使用`HBaseConfiguration.create()`来创建一个配置对象,然后可以设置各种配置参数,如Zookeeper的地址(`HBASE_ZOOKEEPER_QUORUM`),端口(`HBASE_ZOOKEEPER_CLIENT_PORT`)...

    hbase常见错误整理3年运维经验整理

    在本地开发HBase程序时,虽然本地编译能够通过(因为在IDE中已经导入了必要的jar包),但在打包jar并尝试在Linux环境下使用`hadoop jar`命令运行时出现找不到类的错误。这个问题的原因在于Linux环境中的HBase lib...

    使用Hbase协作器(Coprocessor)同步数据到ElasticSearch(hbase 版本 1.2.0-cdh5.8.0, es 2.4.0 版本)

    在`bulkLoadHFile`方法中,我们可以获取到写入HBase的数据,并将其发送到Elasticsearch。 2. **配置Coprocessor**:在HBase的表或列族配置中,添加Coprocessor的类路径和优先级。这样,每当有数据写入时,...

    hbase 0.9 api

    了解并熟练使用HBase 0.94.5的API是开发HBase应用的基础,通过这些API,开发者可以构建出高效、可扩展的大数据解决方案。同时,随着HBase的不断升级,新的API和功能也在不断增加,适应不断变化的技术需求。

    HBASE API

    使用HBase API的`HTableDescriptor`类来定义表结构,然后调用`Admin`接口的`createTable()`方法来创建表。 2. **管理表** HBase提供了丰富的表管理功能,如修改表结构、删除表、禁用/启用表等。`Admin`接口提供了...

    HBASE_thrift_cpp.rar

    综上所述,"HBASE_thrift_cpp.rar"中的内容可能包括了使用C++通过Thrift接口与HBase交互所需的所有组件,如客户端库、示例代码、配置文件等,帮助开发者构建能够对HBase数据库执行各种操作的应用程序。深入理解和...

    vrprep-translator-0.2.1.zip

    本文将详细探讨`async-hbase-client`的设计原理、实现方式以及使用方法。 一、异步客户端的优势 1. 高并发处理:异步I/O模型可以显著提高客户端处理高并发请求的能力,因为它避免了线程阻塞,使得一个线程可以处理...

    HBase专场:亿方云hbase实践(客户-王成军).pdf

    在实时消息推送场景中,为了实现云端与同步端文件的实时同步,亿方云使用异步任务的处理策略,包括数据收集、消息处理、用户鉴权等。为了应对大量数据和保持事务的时间序列,采用了HBase提供的高效的数据存储解决...

    hbase reginobserver

    - 使用异步处理来减轻主循环的压力。 - 避免在Observer中进行复杂的业务逻辑,尤其是那些可能导致阻塞的操作。 8. **文档资源** HBase的官方文档提供了详细的RegionObserver和协处理器框架的介绍,包括如何编写...

    Hbse工具包 包含hbase中各种增删改查

    HBase工具包提供的API可能包含便捷的方法来执行put操作,使得开发人员能够更简单地添加数据。 2. **删除数据(Delete)**:删除操作涉及到根据行键和列族删除特定的数据单元。HBase提供了删除单个版本或所有版本...

    HBase在阿里搜索推荐中的应用

    综上所述,通过这篇分享,我们可以了解到HBase在阿里巴巴搜索推荐中的重要角色,其规模的扩展,以及在处理大数据、高并发访问场景下的优化方法,这些对维护和提升线上服务的性能至关重要。同时,对于HBase社区的贡献...

    Hbase优化-参数优化

    预分区可以通过`HBaseAdmin.createTable`方法完成,并提供自定义的region划分,如示例代码所示。 - **Row Key设计**:Row Key是HBase的核心索引,决定了数据的分布和访问效率。设计时应考虑以下几点: - 单个row ...

    VS2017_Hbase thrift C++接口测试

    安装后,使用Thrift编译器将HBase的Thrift IDL(接口定义语言)文件转换为C++代码。HBase的Thrift IDL文件通常包含了HBase服务的接口定义,如打开表、关闭表、插入数据、查询数据等操作。 接着,我们需要配置VS2017...

    HBase在阿里巴巴的优化及实践.pdf

    阿里巴巴作为一个全球知名的电商平台,在大规模数据处理方面具有非常丰富的需求和经验,因此在使用HBase时,自然也积累了大量的优化和实践经验。 在这份标题为《HBase在阿里巴巴的优化及实践.pdf》的文件中,内容...

    HBase 应用平台 Replication 功能

    本文将深入探讨HBase的Replication功能,包括其工作原理、配置方法、优势以及实际应用场景。 一、HBase Replication概述 HBase的Replication功能允许在一个集群(称为来源集群)中的数据自动复制到另一个集群...

    电信设备-基于HBase分布式环境下移动对象并行网格索引同步方法.zip

    因此,优化同步方法至关重要,例如使用批量更新、局部同步和异步更新等策略。同时,根据业务需求,可以选择弱一致性模型,牺牲一定的实时性以换取更高的吞吐量。 6. HBase中的并行和索引优化: HBase原生支持列族...

    一条数据的HBase之旅,简明HBase入门教程-Write全流程

    总结,HBase入门涉及理解其数据模型、RowKey设计原则、写入流程及接口使用,以及如何通过优化RowKey设计和使用特定策略来避免写入热点,确保系统的高效运行。在实际应用中,需要根据业务需求灵活运用这些知识,以...

Global site tag (gtag.js) - Google Analytics