zoukankan      html  css  js  c++  java
  • hbase 协处理器



    一、服务端
    1、安装Protobuf
    2、RPC proto 定义
    文件:Examples.proto
    option java_package = "org.apache.hadoop.hbase.coprocessor.example.generated";
    option java_outer_classname = "ExampleProtos";
    option java_generic_services = true;
    option java_generate_equals_and_hash = true;
    option optimize_for = SPEED;

    message CountRequest {
    }

    message CountResponse {
    required int64 count = 1 [default = 0];
    }

    service RowCountService {
    rpc getRowCount(CountRequest)
    returns (CountResponse);
    rpc getKeyValueCount(CountRequest)
    returns (CountResponse);
    }
    文件存放在工程的 src/main/protobuf 目录下

    3、生成java代码
    D:workspacemyBasesrcmainprotobuf>protoc --java_out=D:workspacemyBasesrcmainjava Examples.proto

    4、pom.xml增加依赖
    <dependency>
    <groupId>com.google.protobuf</groupId>
    <artifactId>protobuf-java</artifactId>
    <version>2.5.0</version>
    </dependency>

    5、实现 Server 端代码
    Coprocessor 接口定义了两个接口函数,start 和 stop。
    协处理器在 Region 打开的时候被 RegionServer 自动加载,并会调用器 start 接口,完成初始化工作。

    start 接口
    stop 接口
    getService 接口

    6、函数定义


    二、实现 Client 端代码
    HBase 提供了客户端 Java 包 org.apache.hadoop.hbase.client.coprocessor。它提供以下三种方法来调用协处理器提供的服务:
    Table.coprocessorService(byte[])
    Table.coprocessorService(Class, byte[], byte[],Batch.Call),
    Table.coprocessorService(Class, byte[], byte[], Batch.Call, Batch.Callback)


    一般情况下,使用 Endpoint 协处理器的频率不会太高。HBase 是一个存储数据的系统,最常用的应该是 get 和 put,如果频繁使用协处理器,也许说明您应该考虑其他的数据库系统。

  • 相关阅读:
    DOM
    JS方法
    边界与边框,列表与方块
    for 练习
    背景与前景温习
    AD域账号验证
    邮件发送案例
    获取每个月最后一天的小技巧
    SQL 执行顺序
    常用下载地址
  • 原文地址:https://www.cnblogs.com/huanhuanang/p/5788856.html
Copyright © 2011-2022 走看看