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]> wrote:

> Anyone?
>
> On Thursday, October 16, 2014, Matt K <[email protected]> wrote:
>
> > Hi, can anyone help with above? Feels like I'm missing something obvious.
> >
> > On Wednesday, October 15, 2014, Nishanth S <[email protected]
> > <javascript:_e(%7B%7D,'cvml','[email protected]');>> wrote:
> >
> >> Thanks Ted .I will take a look.
> >>
> >> -Nishanth
> >>
> >> On Wed, Oct 15, 2014 at 3:43 PM, Ted Yu <[email protected]> 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]>
> >> > 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]>
> 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]>
> >> 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.
>

Reply via email to