[
https://issues.apache.org/jira/browse/HBASE-7115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13493520#comment-13493520
]
Aditya Kishore commented on HBASE-7115:
---------------------------------------
And yes, this only registers the custom filters with the Filter Language Parser
and not does not add the JARS to client/server class path. Let me think about
it. Probably we can load the filter jars in the same way co-processors jars are
picked.
> [shell] Provide a way to register custom filters with the Filter Language
> Parser
> --------------------------------------------------------------------------------
>
> Key: HBASE-7115
> URL: https://issues.apache.org/jira/browse/HBASE-7115
> Project: HBase
> Issue Type: Improvement
> Components: Filters, shell
> Affects Versions: 0.96.0
> Reporter: Aditya Kishore
> Assignee: Aditya Kishore
> Fix For: 0.96.0
>
> Attachments: HBASE-7115_trunk.patch
>
>
> HBASE-5428 added this capability to thrift interface but the configuration
> parameter name is "thrift" specific.
> This patch introduces a more generic parameter "hbase.user.filters" using
> which the user defined custom filters can be specified in the configuration
> and loaded in any client that needs to use the filter language parser.
> The patch then uses this new parameter to register any user specified filters
> while invoking the HBase shell.
> Example usage: Let's say I have written a couple of custom filters with class
> names *{{org.apache.hadoop.hbase.filter.custom.SuperDuperFilter}}* and
> *{{org.apache.hadoop.hbase.filter.custom.SilverBulletFilter}}* and I want to
> use them from HBase shell using the filter language.
> To do that, I would add the following configuration to {{hbase-site.xml}}
> {panel}{{<property>}}
> {{ <name>hbase.user.filters</name>}}
> {{ <value>}}*{{SuperDuperFilter}}*{{:org.apache.hadoop.hbase.filter.custom.SuperDuperFilter,}}*{{SilverBulletFilter}}*{{:org.apache.hadoop.hbase.filter.custom.SilverBulletFilter</value>}}
> {{</property>}}{panel}
> Once this is configured, I can launch HBase shell and use these filters in my
> {{get}} or {{scan}} just the way I would use a built-in filter.
> {code}
> hbase(main):001:0> scan 't', {FILTER => "SuperDuperFilter(true) AND
> SilverBulletFilter(42)"}
> ROW COLUMN+CELL
> status column=cf:a,
> timestamp=304385520000, value=world_peace
> 1 row(s) in 0.0000 seconds
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira