apache-spark - 用于 Hbase 扫描的 ColumnPrefixFilter
问题描述
我有一个 Hbase 表,其中列出了列族和限定符:
maindata
content:master:909
content:master:899
content:master:97832
content:master:9902222
content:master:9
.
.
.
content:master:223343453
我需要在我的 Spark Java 类中向 Hbase Scan 对象添加一个过滤器,以仅获取 content:master:anynumber 列。就像是 :
Scan scan = new Scan();
scan.addColumn(Bytes.toBytes("content"),Bytes.toBytes("master:[ *[^0-9]. *]"));
这样我只能得到 content:master:anynumber columns 。Scan 是否支持这种模式?
解决方案
byte[][] prefixes = new byte[][] {Bytes.toBytes("master:")};
Filter filter = new MultipleColumnPrefixFilter(prefixes);
Scan scan = new Scan();
scan.addFamily(Bytes.toBytes("content"));
scan.setFilter(filter);
感谢 Hbase MultipleColumnPrefixFilter
。
推荐阅读
- swift - 如何在 Swift 中的泛型类的函数参数中使用泛型类型
- git - 如何使用 gitlab、jenkins、git 设置代码审查工作流程?
- python - 删除来自 API 调用的输出中的“u”后缀
- reactjs - Axios 上的 React 登录组件
- c++ - std::move 参数按值传递
- android - 我有 2 个微调器,然后添加文档按钮,保存图像而不获取微调器值
- javascript - 字母数字和中间空格的正则表达式
- c# - 将基类的属性传递给派生类的更好方法?
- keras - 使用 Pytorch2Keras 将 Pytorch 模型转换为 Keras 时出错
- spring-boot - 保存数据后,Hibernate Search 无法正确编码