hbase テーブルがあり、それをスキャンする必要があります。ある特定の列が正確な値を持ち、正確なプレフィックスを持つ他の列が存在するすべての行を見つける必要があります。何かのようなもの:
SingleColumnValueFilter filterA =
new SingleColumnValueFilter(COLUMN_FAMILY, COLUMN_1, CompareFilter.CompareOp.EQUAL, Bytes.toBytes(2L));
Filter filterB = new ColumnPrefixFilter(COLUMN_2_PREFIX);
FilterList filterList = new FilterList(FilterList.Operator.MUST_PASS_ALL);
filterList.addFilter(filterA);
filterList.addFilter(filterB);
Scan scan = new Scan();
scan.setFilter(filterList);
個々のフィルターは完璧に機能します。値 を持つfilterA
行を返します。存在する行を返します。しかし、一緒にすると何も返されません。このフィルターを組み合わせることができますか? または、私は間違っていますか?COLUMN_1
2L
filterB
COLUMN_2
同じ条件の 2 番目の質問:ColumnPrefixFilter
すべての列を使用して取得できますか。COLUMN_2
存在する行を見つけて、他のすべての列も取得することを意味しますか?