Home | About | Sematext search-lucene.com search-hadoop.com
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB
 Search Hadoop and all its subprojects:

Switch to Plain View
HBase >> mail # user >> Get all rows that DON'T have certain qualifiers


+
Amit Sela 2013-05-08, 13:52
+
Amit Sela 2013-05-08, 14:00
Copy link to this message
-
Re: Get all rows that DON'T have certain qualifiers
I think you can implement your own filter that overrides this method:

  public void filterRow(List<KeyValue> ignored) throws IOException {
When certain qualifiers don't appear in the List, you can remove all the
kvs from the passed List.

Cheers

On Wed, May 8, 2013 at 7:00 AM, Amit Sela <[EMAIL PROTECTED]> wrote:

> Forgot to mention: Hadoop 1.0.4 & HBase 0.94.2
>
>
> On Wed, May 8, 2013 at 4:52 PM, Amit Sela <[EMAIL PROTECTED]> wrote:
>
> > Hi all,
> >
> > I'm trying to scan my HBase table to get only rows that are missing some
> > qualifiers.
> >
> > I read that for getting rows with specific qualifiers I should use
> > something like:
> >
> > List list = new ArrayList<Filter>(2);
> > Filter filter1 = new SingleColumnValueFilter(Bytes.toBytes("fam1"),
> >  Bytes.toBytes("VALUE1"), CompareOp.DOES_NOT_EQUAL,
> > Bytes.toBytes("DOESNOTEXIST"));
> > filter1.setFilterIfMissing(true);
> > list.addFilter(filter1);
> > Filter filter2 = new SingleColumnValueFilter(Bytes.toBytes("fam2"),
> >  Bytes.toBytes("VALUE2"), CompareOp.DOES_NOT_EQUAL,
> > Bytes.toBytes("DOESNOTEXIST"));
> > filter2.setFilterIfMissing(true);
> > list.addFilter(filter2);
> > FilterList filterList = new FilterList(list);
> > Scan scan = new Scan();
> > scan.setFilter(filterList);
> >
> > (I found this here:
> >
> http://mapredit.blogspot.co.il/2012/05/using-filters-in-hbase-to-match-two.html
> > )
> > And it works just fine.
> >
> > So as I thought that if I use SkipFilter(FilterList) I'll skip the rows
> > returned by the filter list >> causing a sort of NOT and getting all rows
> > that don't have any of theses qualifiers.
> >
> > This doesn't seem to work... Anyone has a good suggestion how to get rows
> > that are missing specific qualifiers ? Any idea why SkipFilter fails ?
> >
> > Thanks,
> >
> > Amit
> >
>
+
samar.opensource 2013-05-14, 13:47
+
James Taylor 2013-05-14, 15:39
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB