java - 使用HBase API(Java)使用过滤器进行扫描

标签 java hadoop hbase

我想创建一个过滤器以仅返回包含给定字段(或许多字段)的行。
我的代码:

FilterList flMaster = new FilterList(FilterList.Operator.MUST_PASS_ALL);
Filter filter = new SingleColumnValueFilter(Bytes.toBytes(CF1), Bytes.toBytes("RONAME"), CompareFilter.CompareOp.EQUAL, Bytes.toBytes("roname1"));

scan.setFilter(flMaster);
scan.addFamily(Bytes.toBytes(CF1));
scan.addFamily(Bytes.toBytes(CF2));

ResultScanner resultScanner = table.getScanner(scan);

我创建了2条记录roname1和roname2。

问题是过滤器不起作用:我得到了所有行(roname1和roname2)。

有关信息:hbase版本:1.0.0

谢谢。

最佳答案

Filter filter = new ValueFilter(
        CompareFilter.CompareOp.EQUAL,
        new BinaryComparator(Bytes.toBytes("roman1")));
scan.setFilter(filter);

关于java - 使用HBase API(Java)使用过滤器进行扫描,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29432357/

相关文章:

hadoop - Hive 从带分区的文件创建表

hbase - 如何使用 HBASE Shell 创建带有预拆分和压缩或其他选项的表

hadoop - LZO 的压缩测试失败

java - LongComparator 不适用于具有 HBase API 的 Google Cloud Bigtable

java - 我应该为 Android 布局使用 Java 还是 XML?

java - Jsoup 股票行情刮取雅虎财经

Java——按值传递

Java : For String values we use the command sendKeys ("String"); Similarly what is the command for posting a numeric data to the numeric field

hadoop - 使用 Pig 在 HBase 中为列族添加可变数量的列

hadoop - 在Oozieworkflow.xml中无法识别SequenceFile输入格式?