hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jmozah <jmo...@gmail.com>
Subject Re: Find rows which do not have any of the given columns
Date Mon, 06 Aug 2012 15:48:51 GMT


Use FilterList instead of List of Filters.

./Zahoor

On 06-Aug-2012, at 12:12 PM, Shrijeet Paliwal <shrijeet@rocketfuel.com> wrote:

> Hi All,
> 
> I am writing a job which finds rows that do not have a cell corresponding
> to any of the columns in the given set of columns.
> This is how I have configured my scan (a combination of lQualifierFilters
> and SkipFilter)
> 
>    columnsSet = Splitter.on(',') .split(columns); //columns is a csv
> containing column names
>    List<Filter> qualifierFilters = new ArrayList<Filter>();
>    for (String qual : columnsSet) {
>      qualifierFilters.add(new QualifierFilter(CompareOp.NOT_EQUAL,
>          new BinaryComparator(Bytes.toBytes(qual))));
>    }
>    Filter skipFilter = new SkipFilter(new
> FilterList(Operator.MUST_PASS_ALL, qualifierFilters));
>    Scan scan = new Scan();
>    scan.addFamily(Bytes.toBytes(family));
>    scan.setCacheBlocks(false);
>    scan.setCaching(1000);
>    scan.setFilter(skipFilter);
>    scan.setTimeRange(Long.valueOf(args[4]), Long.valueOf(args[5]));
> 
> In my test table the scan worked as expected. But in production run, I got
> rows which had cells containing one of the given qualifiers (not expected)
> Can some one help me spot the mistake?
> 
> -Shrijeet


Mime
View raw message