William Shen
2018-10-16 20:15:01 UTC
Hi there,
I am trying to scan using a partial match on the row key (derived from the
Phoenix primary key), however, hbase shell is returning results that do not
look like a match. Can someone help me understand why the following row
keys are considered a match and returned?
In addition, I am not sure how to interpret the values like \xF3^ and \x14'
that are suppose to be hex values...
hbase(main):001:0> import org.apache.hadoop.hbase.filter.CompareFilter
=> Java::OrgApacheHadoopHbaseFilter::CompareFilter
hbase(main):002:0> import org.apache.hadoop.hbase.filter.SubstringComparator
=> Java::OrgApacheHadoopHbaseFilter::SubstringComparator
hbase(main):003:0> import org.apache.hadoop.hbase.filter.RowFilter
=> Java::OrgApacheHadoopHbaseFilter::RowFilter
hbase(main):004:0> scan 'TEST_SCHEMA.TEST_TABLE', {COLUMNS => 'TG:_0',
LIMIT => 5, FILTER =>
RowFilter.new(CompareFilter::CompareOp.valueOf('EQUAL'),SubstringComparator.new("\x80\x00\x00\x00\x00\x00\x14\x27\x00\x07\x80\x00\x00\x00\x00\xC7\xE5\x87"))}
ROW
COLUMN+CELL
\x00\x80\x00\x00\x00\x00\x00\x14'\x00\x07\x80\x00\x00\x00\x00\xBC\xEA\x81
column=TG:_0, timestamp=1481844289334, value=
\x00\x80\x00\x00\x00\x00\x00\x14'\x00\x07\x80\x00\x00\x00\x00\xBC\xEA\xE5
column=TG:_0, timestamp=1481844289334, value=
\x00\x80\x00\x00\x00\x00\x00\x14'\x00\x07\x80\x00\x00\x00\x00\xBC\xF3^
column=TG:_0, timestamp=1481844289334, value=
\x00\x80\x00\x00\x00\x00\x00\x14'\x00\x07\x80\x00\x00\x00\x00\xBC\xF8\xA5
column=TG:_0, timestamp=1481844289334, value=
\x00\x80\x00\x00\x00\x00\x00\x14'\x00\x07\x80\x00\x00\x00\x00\xBC\xF9b
column=TG:_0, timestamp=1481844289334, value=
5 row(s) in 0.9430 seconds
Thanks in advance!
- Will
I am trying to scan using a partial match on the row key (derived from the
Phoenix primary key), however, hbase shell is returning results that do not
look like a match. Can someone help me understand why the following row
keys are considered a match and returned?
In addition, I am not sure how to interpret the values like \xF3^ and \x14'
that are suppose to be hex values...
hbase(main):001:0> import org.apache.hadoop.hbase.filter.CompareFilter
=> Java::OrgApacheHadoopHbaseFilter::CompareFilter
hbase(main):002:0> import org.apache.hadoop.hbase.filter.SubstringComparator
=> Java::OrgApacheHadoopHbaseFilter::SubstringComparator
hbase(main):003:0> import org.apache.hadoop.hbase.filter.RowFilter
=> Java::OrgApacheHadoopHbaseFilter::RowFilter
hbase(main):004:0> scan 'TEST_SCHEMA.TEST_TABLE', {COLUMNS => 'TG:_0',
LIMIT => 5, FILTER =>
RowFilter.new(CompareFilter::CompareOp.valueOf('EQUAL'),SubstringComparator.new("\x80\x00\x00\x00\x00\x00\x14\x27\x00\x07\x80\x00\x00\x00\x00\xC7\xE5\x87"))}
ROW
COLUMN+CELL
\x00\x80\x00\x00\x00\x00\x00\x14'\x00\x07\x80\x00\x00\x00\x00\xBC\xEA\x81
column=TG:_0, timestamp=1481844289334, value=
\x00\x80\x00\x00\x00\x00\x00\x14'\x00\x07\x80\x00\x00\x00\x00\xBC\xEA\xE5
column=TG:_0, timestamp=1481844289334, value=
\x00\x80\x00\x00\x00\x00\x00\x14'\x00\x07\x80\x00\x00\x00\x00\xBC\xF3^
column=TG:_0, timestamp=1481844289334, value=
\x00\x80\x00\x00\x00\x00\x00\x14'\x00\x07\x80\x00\x00\x00\x00\xBC\xF8\xA5
column=TG:_0, timestamp=1481844289334, value=
\x00\x80\x00\x00\x00\x00\x00\x14'\x00\x07\x80\x00\x00\x00\x00\xBC\xF9b
column=TG:_0, timestamp=1481844289334, value=
5 row(s) in 0.9430 seconds
Thanks in advance!
- Will