How to specify a line key in an hbase shell that has a tab?

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?

+5
source share
2 answers

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".

, , .

+10

, .:) , , Map , , , , .

(::) . , , URL- URL- ? , urlencode URL, HBase - , , URL- .

Python:

import urllib

DELIMITER = "::"
urlkey = urllib.quote_plus(location)

rowkey = item_id + DELIMITER + urlkey
0

All Articles