How to get a column value based on criteria like where clause in Hbase shell -
i new hbase.
i have scenario need pull filename based on status , current date.
so have created 3 columns; filename
, status
, date
in hbase
table.
how can filename based on condition status=true
, date today?
this query needs executed on hbase shell.
achieving in concise way difficult. here did. hbase shell
jruby
shell, enables following example.
import org.apache.hadoop.hbase.filter.singlecolumnvaluefilter import org.apache.hadoop.hbase.filter.comparefilter import org.apache.hadoop.hbase.filter.substringcomparator import org.apache.hadoop.hbase.filter.filterlist filter1 = singlecolumnvaluefilter.new(bytes.tobytes('cf'), bytes.tobytes('qualifier'), comparefilter::compareop.valueof('equal'), substringcomparator.new('valuetosearch')); filter2 = singlecolumnvaluefilter.new(bytes.tobytes('cf'), bytes.tobytes('qualifier2'), comparefilter::compareop.valueof('equal'), substringcomparator.new('valuetosearch2')); filterlist = filterlist.new([filter1, filter2]); scan 'table', {filter => filterlist}
you import other filters
, comparator
, java
objects etc
i have used substringcomparator
testing.
in case should binarycomparator
(probably better performance wise well).
refer this question if want read more similar hack.
hope helps.
Comments
Post a Comment