gpt4 book ai didi

java - 如何在 HBase 过滤器中混合使用 MUST_PASS_ALL 和 MUST_PASS_ONE?

转载 作者:行者123 更新时间:2023-11-30 07:56:43 26 4
gpt4 key购买 nike

我使用 ColumnPrefixFilter 和多个 FuzzyFilter 进行 HBase 扫描,如下所示:

FilterList filterList = new FilterList();
filterList.addFilter(new FuzzyFilter(...));
filterList.addFilter(new FuzzyFilter(...));
filterList.addFilter(new ColumnPrefixFilter(...));
Scan s = new Scan();
s.setFilter(filterList);

有没有一种方法可以在 FuzzyFilter 上使用 MUST_PASS_ONE,然后在 ColumnPrefixFilter 上使用 MUST_PASS_ALL结合 FuzzyFilter 的集合?

所以我正在寻找这样的东西:

ColumnPrefixFilter AND (FuzzyFilter OR FuzzyFilter)

最佳答案

我们可以实现两个不同的 FilterList 来实现这一点。引用下面的代码

    FilterList mainFilter = new FilterList(FilterList.Operator.MUST_PASS_ALL);
FilterList subFilter = new FilterList(FilterList.Operator.MUST_PASS_ONE);

subFilter.addFilter(new FuzzyRowFilter(null));
subFilter.addFilter(new FuzzyRowFilter(null));

mainFilter.addFilter(new ColumnPrefixFilter(Bytes.toBytes("d")));
mainFilter.addFilter(subFilter);

您可以定义一个带有 MUST_PASS_ALL 运算符的 mainFilter 和一个带有 MUST_PASS_ONE 的 subFilter。现在将过滤条件添加到 subFilter 中,然后将此 subFilter 添加回 mainFilter。

关于java - 如何在 HBase 过滤器中混合使用 MUST_PASS_ALL 和 MUST_PASS_ONE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41876789/

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