hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Lars George <lars.geo...@gmail.com>
Subject Re: how to get cell value from the hbase table via the key word?
Date Wed, 05 Jan 2011 16:28:36 GMT
Hi Ventlam,

You need to make sure the values truly are comparable. In other words,
that you store the values using the same serialization mechanism as
used by the filter. Do a test and read a row that you know that has
that value and print it in hex representation, then do the same for
Bytes.toBytes(value) and compare on a byte level to check. Often the
stored value is slightly different and therefore does not match. The
TestFilter.java has a test for the ValueFilter and it passes, so this
seems to be something with your data?

Lars

On Wed, Jan 5, 2011 at 12:55 PM, ventlam <ventlcc@gmail.com> wrote:
>   hey,guy!
>    I would like to get the cell value via the key word like"viki" . I used
> ValueFilter to implement it ,but i got nothing. Is there any other ideas?
>  My code as follow:
> try
>                {
>                           HTable htable = new
> HTable(hconf,Bytes.toBytes(tablename));
>
>                           ValueFilter vfilter = new
> ValueFilter(CompareOp.EQUAL,new BinaryComparator(Bytes.toBytes(value)));
>
>                           Scan s =new Scan();
>                           s.setFilter(vfilter);
>                           ResultScanner rscanner = htable.getScanner(s);
>
>                           for(Result rs : rscanner)
>                           {
>                                   byte [] by =
> rs.getValue(Bytes.toBytes(tablename));
>
>                                        String vt= Bytes.toString(by);
>                                         System.out.println("The value
is "+
> vt);
>                           }
>
>                }
>                catch(IOException e)
>                {
>                        e.printStackTrace();
>                }
>
>

Mime
View raw message