I haven't tried dynamic loading of filters on RS, but I know it does exist.
See https://issues.apache.org/jira/browse/HBASE-9301.

If you still can't get it to work, then I suggest distributing your filters
to the RS and restart them. Let us know how everything works out.

On Tue, Oct 21, 2014 at 9:02 PM, Matt K <[email protected]> wrote:

> Thanks Kevin!
>
> I was under impression, probably mistakingly, that as of 0.96 placing
> the filter on hdfs under hbase lib directory is sufficient and RS should
> load the filter dynamically from hdfs. Is that not the case?
>
> On Tuesday, October 21, 2014, Kevin <[email protected]> wrote:
>
> > BTW, the error looks like you didn't distribute your custom filter to
> your
> > region servers.
> >
> > On Tue, Oct 21, 2014 at 1:34 PM, Kevin <[email protected]
> > <javascript:;>> wrote:
> >
> > > Matt,
> > >
> > > You should create your own proto file and compile that with the Google
> > > Protocol Buffer compiler. Take a look at the SingleColumnValueFilter's
> > > code:
> > >
> >
> https://github.com/apache/hbase/blob/master/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.java#L327
> > >
> > > You will need to override `public byte[] toByteArray()` and `public
> > static
> > > Filter parseFrom(byte[] pbBytes)`. The output of toByteArray() should
> be
> > > the byte[] from serializing with the protocol buffer. This will also be
> > the
> > > input to parseFrom(byte[]), which is called using reflection on the
> > > server-side to instantiate your custom filter and use it.
> > >
> > > On Sun, Oct 19, 2014 at 11:31 AM, Matt K <[email protected]
> > <javascript:;>> wrote:
> > >
> > >> Anyone?
> > >>
> > >> On Thursday, October 16, 2014, Matt K <[email protected]
> > <javascript:;>> wrote:
> > >>
> > >> > Hi, can anyone help with above? Feels like I'm missing something
> > >> obvious.
> > >> >
> > >> > On Wednesday, October 15, 2014, Nishanth S <[email protected]
> > <javascript:;>
> > >> > <javascript:_e(%7B%7D,'cvml','[email protected]
> <javascript:;>');>>
> > wrote:
> > >> >
> > >> >> Thanks Ted .I will take a look.
> > >> >>
> > >> >> -Nishanth
> > >> >>
> > >> >> On Wed, Oct 15, 2014 at 3:43 PM, Ted Yu <[email protected]
> > <javascript:;>> wrote:
> > >> >>
> > >> >> > Nishanth:
> > >> >> > Good question.
> > >> >> >
> > >> >> > As a general coding guide, writing unit test is always a good
> > start.
> > >> >> Using
> > >> >> > Matt's case as an example, take a look at TestPrefixFilter.
> > >> >> >
> > >> >> > There're various unit tests for Filters in hbase code.
> > >> >> >
> > >> >> > Cheers
> > >> >> >
> > >> >> > On Wed, Oct 15, 2014 at 2:30 PM, Nishanth S <
> > [email protected] <javascript:;>
> > >> >
> > >> >> > wrote:
> > >> >> >
> > >> >> > > Hi Ted ,
> > >> >> > >  Since I am also working on similar thing is there a way we can
> > >> first
> > >> >> > test
> > >> >> > > the filter on client side?.You know what I  mean without
> > disrupting
> > >> >> > others
> > >> >> > > who are using the same cluster for other work?
> > >> >> > >
> > >> >> > > Thanks,
> > >> >> > > Nishanth
> > >> >> > >
> > >> >> > > On Wed, Oct 15, 2014 at 3:17 PM, Ted Yu <[email protected]
> > <javascript:;>>
> > >> wrote:
> > >> >> > >
> > >> >> > > > bq. Or create a new file, compile it into ...
> > >> >> > > >
> > >> >> > > > You should go with the above approach.
> > >> >> > > >
> > >> >> > > > On Wed, Oct 15, 2014 at 2:08 PM, Matt K <
> [email protected]
> > <javascript:;>>
> > >> >> wrote:
> > >> >> > > >
> > >> >> > > > > Hi all,
> > >> >> > > > >
> > >> >> > > > > I'm trying to get a custom filter to work on HBase 0.96.
> > After
> > >> >> some
> > >> >> > > > > searching, I found that starting from 0.96, the implementer
> > is
> > >> >> > required
> > >> >> > > > to
> > >> >> > > > > implement "toByteArray" and "parseFrom" methods, using
> > Protocol
> > >> >> > > Buffers.
> > >> >> > > > > But I'm having trouble with the "how".
> > >> >> > > > >
> > >> >> > > > > The "proto" file for the existing filters is located here:
> > >> >> > > > >
> > >> >> > > > >
> > >> >> > > >
> > >> >> > >
> > >> >> >
> > >> >>
> > >>
> >
> https://github.com/apache/hbase/blob/master/hbase-protocol/src/main/protobuf/Filter.proto
> > >> >> > > > >
> > >> >> > > > > Am I supposed to modify that file? Or create a new file,
> > >> compile
> > >> >> it
> > >> >> > > into
> > >> >> > > > > Java, and package it up with the filter?
> > >> >> > > > >
> > >> >> > > > > In the meantime, I've taken a shortcut that's not working.
> > >> Here's
> > >> >> my
> > >> >> > > > code:
> > >> >> > > > > http://pastebin.com/iHFKu9Xz
> > >> >> > > > >
> > >> >> > > > > I'm using "PrefixFilter", which comes with HBase, since I'm
> > >> also
> > >> >> > > > filtering
> > >> >> > > > > by "prefix". However, that errors out with the following:
> > >> >> > > > > http://pastebin.com/zBg47p6Z
> > >> >> > > > >
> > >> >> > > > > Thanks in advance for helping!
> > >> >> > > > >
> > >> >> > > > > -Matt
> > >> >> > > > >
> > >> >> > > >
> > >> >> > >
> > >> >> >
> > >> >>
> > >> >
> > >> >
> > >> > --
> > >> > www.calcmachine.com - easy online calculator.
> > >> >
> > >>
> > >>
> > >> --
> > >> www.calcmachine.com - easy online calculator.
> > >>
> > >
> > >
> >
>
>
> --
> www.calcmachine.com - easy online calculator.
>

Reply via email to