【发布时间】:2014-06-10 14:21:00
【问题描述】:
我使用 HBase 0.94.20。我没有找到如何使自定义 HBase 过滤器可用并在 HBase 服务器端执行。阅读https://issues.apache.org/jira/browse/HBASE-1936,我知道现在可以做到这一点,而无需在 HBase 服务器端手动复制包含过滤器的 jar。但是经过几个小时的谷歌搜索和测试,我没有找到如何将这个自定义过滤器从我的 java 代码发送到 HBase 服务器端。
我一直在 HBase 日志中出现错误:
java.lang.RuntimeException: Can't find class com.company.MyHBaseFilter
at org.apache.hadoop.hbase.util.Classes.createWritableForName(Classes.java:121)
at org.apache.hadoop.hbase.client.Scan.readFields(Scan.java:642)
at org.apache.hadoop.hbase.io.HbaseObjectWritable.readObject(HbaseObjectWritable.java:693)
所以开始简单,这里是基本代码。我应该添加什么来使 MyHBaseFilter 中的逻辑在服务器端执行? (注意:MyHBaseFilter 扩展了 FilterBase)
Filter filter = new MyHBaseFilter(some_args);
scan.setFilter(filter);
ResultScanner rs = table.getScanner(scan);
谢谢
【问题讨论】:
标签: hbase