ColumnPrefixFilter for Hbase scan



我有一个Hbase表,其中列族和限定符如下:

maindata
content:master:909
content:master:899
content:master:97832
content:master:9902222
content:master:9
.
.
.
content:master:223343453

我需要在Spark Java类中的HbaseScan对象中添加一个过滤器,以仅获取content:master:anynumber列。类似于:

Scan scan = new Scan();
scan.addColumn(Bytes.toBytes("content"),Bytes.toBytes("master:[ *[^0-9]. *]"));

所以我只得到content:master:anynumber列。扫描支持这样的模式吗?

byte[][] prefixes = new byte[][] {Bytes.toBytes("master:")};
Filter filter = new MultipleColumnPrefixFilter(prefixes);
Scan scan = new Scan();
scan.addFamily(Bytes.toBytes("content"));
scan.setFilter(filter);

多亏了HbaseMultipleColumnPrefixFilter

最新更新