gpt4 book ai didi

java - Hbase 使用值列表过滤列

转载 作者:行者123 更新时间:2023-11-30 05:44:18 25 4
gpt4 key购买 nike

如何将值列表传递给 SingleColumnFilter 以进行 hbase 扫描和查询?

val ListOfID = List("ID1","ID2",...,"ID15",...,"ID150") 

我知道如何过滤一个值:

val IDFilter = new SingleColumnValueFilter(Bytes.toBytes("header"), Bytes.toBytes("ID"), CompareFilter.CompareOp.EQUAL, Bytes.toBytes(String.valueOf(ID)))

但是我想将一个值列表传递给过滤器,因为我的列表有超过 150 个元素。

提前致谢

最佳答案

这是我找到的解决方案,使用 RegexStringComparator它有效,但我不知道这是否是最好的方法:

val ListOfID = List("ID1","ID2",...,"ID15",...,"ID150") 
val IDListString = ListOfID.mkString("|")

val scan = new Scan


val IDFilter = new SingleColumnValueFilter(Bytes.toBytes("header"), Bytes.toBytes("networkIdentifier"), CompareFilter.CompareOp.EQUAL,new RegexStringComparator(IDListString))

val filters = new FilterList(IDFilter)
scan.setFilter(filters)

关于java - Hbase 使用值列表过滤列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55111403/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com