HBase 获取行键所在的值

Posted

技术标签:

【中文标题】HBase 获取行键所在的值【英文标题】:HBase Get values where rowkey in 【发布时间】:2015-05-21 15:36:00 【问题描述】:

在给定 Rowkey 值的情况下,如何获取 HBase 中的所有值?

val tableName = "myTable"
val hConf = HBaseConfiguration.create()
val hTable = new HTable(hConf, tableName)
val theget= new Get(Bytes.toBytes("1001-A")) // rowkey values (1001-A, 1002-A, 2010-A, ...)
val result = hTable.get(theget)
val values = result.listCells()

上面的代码只适用于一个rowkey。

【问题讨论】:

【参考方案1】:

您可以使用批处理操作。 Javadoc 请参考以下链接:Batch Operations on HTable

另一种方法是使用开始行键和结束行键(来自已排序的升序键集的第一行和最后一行键)进行扫描。如果值太多,这更有意义。

【讨论】:

【参考方案2】:

htable.get 方法获取 Gets 列表:

List<Get> gets = ....
List<Result> results = htable.get(gets)

【讨论】:

以上是关于HBase 获取行键所在的值的主要内容,如果未能解决你的问题,请参考以下文章

如何设置开始和结束行键 HBASE

hbase 的最佳行键设计

Hbase 性能行键与列限定符

使用 Hbase 过滤器搜索有空格但没有空格的行键

HBase基本操作

Hbase - 按列名前缀获取行的列名