In our infinite wisdom, we decided that our rows would be provided with a tab in the middle:
item_id <tab> location
For instance:
000001 http://www.url.com/page
Using the Hbase Shell, we cannot execute the get command because the tab character is not spelled correctly in the input line. We tried
get 'tableName', '000001\thttp://www.url.com/page'
without success. What should we do?
I had the same problem for binary values: \ x00. That was my separator.
In order for the shell to accept your binary values, you need to provide them in double quotes (") instead of a single quote (').
put "MyTable", "MyKey", "Family: Qualifier", "\ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x06Change from Shell"
, . , UTF8 ASCII, "000001\x09http://www.url.com/page".
, , .
, .:) , , Map , , , , .
(::) . , , URL- URL- ? , urlencode URL, HBase - , , URL- .
Python:
import urllib DELIMITER = "::" urlkey = urllib.quote_plus(location) rowkey = item_id + DELIMITER + urlkey