|
|
Arun Sanjay J 2011-07-15, 18:45
Hi I have just started to use HBase and I am not familiar so much. I want to perform a filtering condition as below,
if A and ( B or C or D or.......) where A ,B,C,D will be filters.
Kindly let me know if I can use the FilterList for the above case as below,
FilterList list1 = new FilterList(Operator.MUST_PASS_ALL); FilterList list2 = new FilterList(Operator.MUST_PASS_ONE);
list2.addFilter(B); list2.addFilter(C); list2.addFilter(D);
list1.addFilter(A) list1.addFilter(list2);
Basically I want to check whether A and one of B,C or D, conditions are met. Will this work as expected.?
thanks Sanjay
It looks like it should work. Have you tried it? St.Ack
On Fri, Jul 15, 2011 at 11:45 AM, Arun Sanjay J <[EMAIL PROTECTED]> wrote: > Hi > I have just started to use HBase and I am not familiar so much. I want to > perform a filtering condition as below, > > if A and ( B or C or D or.......) where A ,B,C,D will be filters. > > Kindly let me know if I can use the FilterList for the above case as below, > > FilterList list1 = new FilterList(Operator.MUST_PASS_ALL); > FilterList list2 = new FilterList(Operator.MUST_PASS_ONE); > > list2.addFilter(B); > list2.addFilter(C); > list2.addFilter(D); > > list1.addFilter(A) > list1.addFilter(list2); > > Basically I want to check whether A and one of B,C or D, conditions are met. > Will this work as expected.? > > thanks > Sanjay >
Arun Sanjay J 2011-07-16, 16:51
Yes. It works fine. Thx for your response. I was just skeptical about whether it would work. The javadoc of FilterList as well confirms the same, " Since you can use Filter Lists as children of Filter Lists, you can create a hierarchy of filters to be evaluated.".
Sanjay
On Fri, Jul 15, 2011 at 3:54 PM, Stack <[EMAIL PROTECTED]> wrote:
> It looks like it should work. Have you tried it? > St.Ack > > On Fri, Jul 15, 2011 at 11:45 AM, Arun Sanjay J <[EMAIL PROTECTED]> > wrote: > > Hi > > I have just started to use HBase and I am not familiar so much. I want to > > perform a filtering condition as below, > > > > if A and ( B or C or D or.......) where A ,B,C,D will be filters. > > > > Kindly let me know if I can use the FilterList for the above case as > below, > > > > FilterList list1 = new FilterList(Operator.MUST_PASS_ALL); > > FilterList list2 = new FilterList(Operator.MUST_PASS_ONE); > > > > list2.addFilter(B); > > list2.addFilter(C); > > list2.addFilter(D); > > > > list1.addFilter(A) > > list1.addFilter(list2); > > > > Basically I want to check whether A and one of B,C or D, conditions are > met. > > Will this work as expected.? > > > > thanks > > Sanjay > > >
Jack Levin 2011-07-16, 20:27
Be mindful that if you are using a scanner with filters, RowKey remains the index of the table, and that filter just filters your results based on how you run your scanner, similarly to "cat file | grep filter", where if "file" is your table and has many lines (rows), your scan might be very inefficient. (e.g. reading too many rows)
-Jack
On Sat, Jul 16, 2011 at 9:51 AM, Arun Sanjay J <[EMAIL PROTECTED]> wrote: > Yes. It works fine. Thx for your response. I was just skeptical about > whether it would work. The javadoc of FilterList as well confirms the same, > " Since you can use Filter Lists as children of Filter Lists, you can create > a hierarchy of filters to be evaluated.". > > Sanjay > > On Fri, Jul 15, 2011 at 3:54 PM, Stack <[EMAIL PROTECTED]> wrote: > >> It looks like it should work. Have you tried it? >> St.Ack >> >> On Fri, Jul 15, 2011 at 11:45 AM, Arun Sanjay J <[EMAIL PROTECTED]> >> wrote: >> > Hi >> > I have just started to use HBase and I am not familiar so much. I want to >> > perform a filtering condition as below, >> > >> > if A and ( B or C or D or.......) where A ,B,C,D will be filters. >> > >> > Kindly let me know if I can use the FilterList for the above case as >> below, >> > >> > FilterList list1 = new FilterList(Operator.MUST_PASS_ALL); >> > FilterList list2 = new FilterList(Operator.MUST_PASS_ONE); >> > >> > list2.addFilter(B); >> > list2.addFilter(C); >> > list2.addFilter(D); >> > >> > list1.addFilter(A) >> > list1.addFilter(list2); >> > >> > Basically I want to check whether A and one of B,C or D, conditions are >> met. >> > Will this work as expected.? >> > >> > thanks >> > Sanjay >> > >> >
|
|