gpt4 book ai didi

java - 如何通过 ColumnPrefixFilter 和 SingleColumnValueFilter 扫描并获取所有列?

转载 作者:行者123 更新时间:2023-11-30 11:35:12 27 4
gpt4 key购买 nike

我们有 hbase 表,我需要扫描它。我必须找到所有行,其中一个特定列具有确切的值,并且存在具有确切前缀的其他列。像这样的东西:

SingleColumnValueFilter filterA =
new SingleColumnValueFilter(COLUMN_FAMILY, COLUMN_1, CompareFilter.CompareOp.EQUAL, Bytes.toBytes(2L));
Filter filterB = new ColumnPrefixFilter(COLUMN_2_PREFIX);

FilterList filterList = new FilterList(FilterList.Operator.MUST_PASS_ALL);
filterList.addFilter(filterA);
filterList.addFilter(filterB);
Scan scan = new Scan();
scan.setFilter(filterList);

单独的过滤器工作完美。 filterA 返回 COLUMN_1 值为 2L 的行。 filterB 返回 COLUMN_2 所在的行。但他们在一起没有任何返回。那么我可以将这些过滤器组合在一起吗?还是我做错了什么?

具有相同条件的第二个问题:我可以使用 ColumnPrefixFilter 并获取所有列吗?我的意思是查找存在 COLUMN_2 的行并获取所有其他列?

最佳答案

我找到了部分决定。我可以使用 QualifierFilter 而不是 ColumnPrefixFilter。它有效:

Filter filterB = new QualifierFilter(CompareFilter.CompareOp.EQUAL, new BinaryPrefixComparator(COLUMN_2_PREFIX));

我得到具有一列 COLUMN_2 的行。但我仍然强烈需要获取所有列,而不仅仅是我筛选的列。

关于java - 如何通过 ColumnPrefixFilter 和 SingleColumnValueFilter 扫描并获取所有列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15248793/

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