hbase多前缀过滤器+setlimit

bzzcjhmw  于 2021-06-02  发布在  Hadoop
关注(0)|答案(0)|浏览(324)

我有一个行前缀列表。我想为每个前缀查询n行。
我无法使用multirowrangefilter,因为我不知道范围的结束行键前缀是什么。我也不能使用scan.setlimit(n),因为我认为它会将查询的行总数限制为n(我希望每个前缀都有n行)。
我的当前设置:

val hbaseConf = HBaseConfiguration.create()
// set zookeeper quorum properties in hbaseConf

val hbaseContext = new HBaseContext(sc, hbaseConf)

val rowPrefixes = Array("a", "b", "c")
val filterList = new FilterList()

rowPrefixes.foreach { x => filterList.addFilter(new PrefixFilter(Bytes.toBytes(x))) }

var scan = new Scan()  

scan.setFilter(filterList)
scan.addFamily(Bytes.toBytes("myCF"));

val rdd = hbaseContext.hbaseRDD(TableName.valueOf("tableName"), scan)
rdd.mapPartitions(populateCaseClass)

我不确定应该使用哪个过滤器来实现每个rowkey的多个rowkey前缀+setlimit。。。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题