hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From lars hofhansl <la...@apache.org>
Subject Re: Hadoop-HBase table hierarchical column scan
Date Fri, 09 Aug 2013 19:55:11 GMT
Take a look at ColumnRangeFilter, (probably better in your case) ColumnPrefixFilter, or MultipleColumnPrefixFilter.
Especially the latter two let you efficiently filter on prefixes of columns.

Note that if typically scan a subset of the columns, placing these prefixes into the row key
will be more efficient, as the scanner can then avoid a full scan.

-- Lars
From: Narlin M <hpnole@gmail.com>
To: user@hbase.apache.org 
Sent: Friday, August 9, 2013 12:44 PM
Subject: Hadoop-HBase table hierarchical column scan

I am fairly new to the hadoop-hbase environment having started working on
it very recently, so I hope I am wording the question correctly.

I am trying to read data from a hadoop-hbase table which has only one
column family named 'DFLT'. This family contains hierarchical column
qualifiers "/source:int64/name:string". I want to read the name column for
a particular source value, say 10. How can I achieve this using the Scan

I tried setting up the scan object as follows:


byte[] family = Bytes.toBytes("DFLT");
byte[] qualifier = Bytes.toBytes("source:name");

Scan scan = new Scan();
scan.addColumn(family, qualifier);

FilterList list = new FilterList(FilterList.Operator.MUST_PASS_ALL);

SingleColumnValueFilter filter = new SingleColumnValueFilter(family,
Bytes.toBytes("source"), CompareFilter.CompareOp.EQUAL,Bytes.toBytes(10));




But I do not get any data back with this setup. I am guessing that I am not
setting up the hierarchical qualifiers correctly. Any and all pointers will
be appreciated.

Thanks, Narlin M.

View raw message