我是 HBase 的新手。我已经安装了它并使用它的基本 JAVA API 进行 CRUD 操作。我的 Hbase 表有唯一的列限定符(比如说 A, B , C, D ),它们有数值,现在我需要过滤那些匹配某些公式的行,比如 A * B >= C (这里可以有 b 更复杂的条件)然后我需要对结果集的列限定符 D 的值求和。
我该怎么做这个 HBase ?简而言之,如何在 NoSQL HBase 中执行存储过程类型的逻辑?
谢谢,托尼
我是 HBase 的新手。我已经安装了它并使用它的基本 JAVA API 进行 CRUD 操作。我的 Hbase 表有唯一的列限定符(比如说 A, B , C, D ),它们有数值,现在我需要过滤那些匹配某些公式的行,比如 A * B >= C (这里可以有 b 更复杂的条件)然后我需要对结果集的列限定符 D 的值求和。
我该怎么做这个 HBase ?简而言之,如何在 NoSQL HBase 中执行存储过程类型的逻辑?
谢谢,托尼
您可以使用HBase 协处理器。具体来说,端点协处理器。您可以将其视为 SQL DB 中的存储过程。为了使用端点协处理器,您需要在服务器端构建和安装它,然后它可以通过 HBase RPC 调用。
为了构建和使用端点协处理器,您需要:
在客户端,可以通过两个新的 HBase 客户端 API 调用 Endpoint:
针对单个区域执行:
HTableInterface.coprocessorProxy(类协议,字节[]行)
在一系列地区执行
HTableInterface.coprocessorExec(类协议, byte[] startKey, byte[] endKey, Batch.Call callable)
有关详细信息,请参阅上面指定的链接。
高温高压