如何根据Hbase shell中的where子句等条件获取列值

如何根据Hbase shell中的where子句等条件获取列值,hbase,Hbase,我是Hbase的新手 我有一个场景,需要根据状态和当前日期提取文件名 因此,我创建了3个专栏文件名、状态和日期在Hbase表中 如何根据status=true和日期为今天的条件获取文件名 此查询需要在Hbase外壳上执行。以简洁的方式实现这一点很困难。但这就是我所做的。 hbase shell是一个JRubyshell,它使我们能够执行以下示例 import org.apache.hadoop.hbase.filter.SingleColumnValueFilter import org.apa

我是Hbase的新手

我有一个场景,需要根据状态和当前日期提取文件名

因此,我创建了3个专栏<代码>文件名、
状态
日期
Hbase
表中

如何根据
status=true
和日期为今天的条件获取文件名


此查询需要在Hbase外壳上执行。

以简洁的方式实现这一点很困难。但这就是我所做的。
hbase shell
是一个
JRuby
shell,它使我们能够执行以下示例

import org.apache.hadoop.hbase.filter.SingleColumnValueFilter
import org.apache.hadoop.hbase.filter.CompareFilter
import org.apache.hadoop.hbase.filter.SubstringComparator
import org.apache.hadoop.hbase.filter.FilterList

filter1 = SingleColumnValueFilter.new(Bytes.toBytes('cf'), Bytes.toBytes('qualifier'), CompareFilter::CompareOp.valueOf('EQUAL'), SubstringComparator.new('valueToSearch'));
filter2 = SingleColumnValueFilter.new(Bytes.toBytes('cf'), Bytes.toBytes('qualifier2'), CompareFilter::CompareOp.valueOf('EQUAL'), SubstringComparator.new('valueToSearch2'));

filterList = FilterList.new([filter1, filter2]);

scan 'table', {FILTER =>  filterList}
您可以导入任何其他
过滤器
比较器
Java
对象等

我使用了
子字符串比较器
进行测试。
在您的情况下,它应该是
binarycomarator
(在性能方面也可能更好)

若你们想了解更多关于类似黑客的信息,请参考问题


希望有帮助。

看一下以下问题的答案。谢谢,我已经浏览了链接。但是我还没有找到解决方案。换个说法,假设我的桌子上有3个会议。我需要得到对应于条件的第一列,该条件应用于第二列和第三列。这方面的sql等价物是从表中选择第一列,其中(第二列=x,第三列=y)。我需要在hbase外壳中实现这一点。我的错,误读了这个问题。我来试试这个问题。