java - 如何通过行键从 Bigtable 中获取所有值?
问题描述
我无法通过行键从 BigTable 中获取所有值,
我的表看起来像这样,我只能得到其中的 3 个,具有相同限定符的相同列族只会得到一个,例如 hashes:md5 只会得到“emialmd5test”
xy001uuuyyyy
hashes:md5 @ 2019/06/17-16:57:10.173000
"emialmd5test"
hashes:md5 @ 2019/06/17-10:58:39.711000
"emialmd5"
hashes:sha1 @ 2019/06/17-16:57:10.173000
"emailsha1test"
hashes:sha1 @ 2019/06/17-10:58:39.711000
"emailsha1"
hashes:sha256 @ 2019/06/17-16:57:10.172000
"emailsha256test"
hashes:sha256 @ 2019/06/17-10:58:39.711000
"emailsha256"
这是我的代码
Connection connection = BigtableConfiguration.connect(WholeSaleHelper.WHOOLE_SALE_CONFIG.toHBaseConfig());
Scan scan = new Scan()
.setRowPrefixFilter(cookieAndPel.getValue().getBytes());
Table table = connection.getTable(TableName.valueOf(WholeSaleHelper.WHOOLE_SALE_CONFIG.getTableId()));
byte[] md5Bytes = null, sha1Bytes = null, sha256Bytes = null;
for (Result result : table.getScanner(scan)) {
md5Bytes = result.getValue(WholeSaleHelper.WHOLE_SALE_COLUMN_FAMILY.getBytes(), WholeSaleHelper.WHOLE_SALE_MD5.getBytes());
sha1Bytes = result.getValue(WholeSaleHelper.WHOLE_SALE_COLUMN_FAMILY.getBytes(), WholeSaleHelper.WHOLE_SALE_SHA1.getBytes());
sha256Bytes = result.getValue(WholeSaleHelper.WHOLE_SALE_COLUMN_FAMILY.getBytes(), WholeSaleHelper.WHOLE_SALE_SHA256.getBytes());
}
或者我可以使用其他方式来获取值吗?只需按 roe 键搜索即可获取所有值。不关心列族和限定符
解决方案
您可以将此添加到您的扫描中以获取所有版本:scan.setMaxVersions();
推荐阅读
- r - 在启动时清除 R 工作区?没有任何效果
- sharepoint - 使用新式体验通过 SharePoint 列表的特定视图设置目标受众
- javascript - 在滚动事件监听器上仅触发一次警报,直到页面重新加载
- testing - Jasmine Spy 调用错误
- c - 从 makefile 获取未定义的引用错误
- sympy - 这是 SymPy 的错误吗?
- c++ - 将匿名命名空间映射传递给另一个文件中的函数
- python - 如何从网站表单中提取特定数据
- regex - 我将如何匹配正则表达式中的嵌套“if”语句?(使用红宝石)
- react-native - 如何在 React Native `TextInput` ref 上设置监听器道具