Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
HBase, mail # user - Problem with HFile lexical comparison


Copy link to this message
-
Problem with HFile lexical comparison
Rohit Kelkar 2013-06-19, 17:05
Here is a problem that I am facing while creating an HFile outside of a MR
job.
My column family is "sd"
For a given rowKey=10011-2-0000000000000000703, this is the sequence in
which I am writing KeyValue pairs to the HFile,
key=sd:dt, value="dummy value 1"
key=sd:dth, value="dummy value 2"

When I print the keys it prints the following for the above 2 entries
\x00\x1B10011-2-0000000000000000703\x02sddt\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04
\x00\x1B10011-2-0000000000000000703\x02sddth\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04

When I write the KV to HFile it throws an IOException:
Added a key not lexically larger than previous
key=\x00\x1B10011-2-0000000000000000703\x02sddth\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04,
lastkey=\x00\x1B10011-2-0000000000000000703\x02sddt\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x04

Lexically "sd:dt" is smaller than "sd:dth" then why should HFile
(AbstractHFileWriter.checkKey) complain? The checkKey method is using the
hadoop RawComparator
Am I missing something?

- R