この問題にはSingleColumnValueFilterを使用できます。あなたの例を使用すると、これを行うことができます:
SingleColumnValueFilter filter = new SingleColumnValueFilter(Bytes.toBytes("cf"), Bytes.toBytes("c3"), CompareFilter.CompareOp.EQUAL, Bytes.toBytes("v3"));
次に、次の方法でフィルターをスキャンに追加できます。
Scan scan = new Scan();
scan.setFilter(filter);
また、複数のフィルターが必要な場合は、それも可能です。それらを FilterList に追加し、それをスキャンに渡すようにしてください (setFilter メソッドを使用)。
SingleColumnValueFilter f1 = new SingleColumnValueFilter(Bytes.toBytes("cf"), Bytes.toBytes("c3"), CompareFilter.CompareOp.EQUAL, Bytes.toBytes("v3"));
SingleColumnValueFilter f2 = new SingleColumnValueFilter(Bytes.toBytes("cf"), Bytes.toBytes("c2"), CompareFilter.CompareOp.EQUAL, Bytes.toBytes("v2"));
FilterList filterList = new FilterList(FilterList.Operator.MUST_PASS_ONE); //could be FilterList.Operator.MUST_PASS_ALL instead
filterList.addFilter(f1);
filterList.addFilter(f2);
Scan scan = new Scan();
scan.setFilter(filterList);