如何使用HBASE Shell获取一行,其中rowkey是十六进制的?

Kyl*_*ndt 9 hbase

如果我有一个十六进制的rowkey,比如x00\x01,我get在HBASE shell中怎么做?

hbase(main):004:0> scan 'tsdb-tree'
ROW                 COLUMN+CELL
\x00\x01            column=t:tree, timestamp=1379421652764, value={"name":"...
Run Code Online (Sandbox Code Playgroud)

Kyl*_*ndt 21

您可以使用普通get命令引用它,但十六进制密钥必须是双引号,单引号将不起作用:

例如,您将使用get 'tsdb-tree', "\x00\x01":

hbase(main):016:0> scan 'tsdb-tree'
ROW                                                                       COLUMN+CELL                                                                                                                                                                                                             
 \x00\x01                                                                 column=t:tree, timestamp=1379421652764, value={"name":"TestTree1","description":"","notes":"","strictMatch":false,"created":0,"enabled":false,"storeFailures":false}                                                    
 \x00\x01                                                                 column=t:tree_rule:0:0, timestamp=1379371753132, value={"type":"METRIC","field":"host","regex":"","separator":"","description":"","notes":"","level":0,"order":0,"treeId":1,"customField":"","regexGroupIdx":0,"displayF
                                                                          ormat":""}                                                                                                                                                                                                              
 \x00\x02                                                                 column=t:tree, timestamp=1379372909057, value={"name":"testTree2","description":"","notes":"","strictMatch":false,"created":0,"enabled":false,"storeFailures":false}                                                    
2 row(s) in 0.0300 seconds

hbase(main):017:0> get 'tsdb-tree', "\x00\x01"
COLUMN                                                                    CELL                                                                                                                                                                                                                    
 t:tree                                                                   timestamp=1379421652764, value={"name":"TestTree1","description":"","notes":"","strictMatch":false,"created":0,"enabled":false,"storeFailures":false}                                                                   
 t:tree_rule:0:0                                                          timestamp=1379371753132, value={"type":"METRIC","field":"host","regex":"","separator":"","description":"","notes":"","level":0,"order":0,"treeId":1,"customField":"","regexGroupIdx":0,"displayFormat":""}              
2 row(s) in 0.0140 seconds
Run Code Online (Sandbox Code Playgroud)

  • 有时您的十六进制行键中将包含一个“”,即`)\ x93 \ x83 \ x5C \ xD0 \ xD5B \ xC4 \ x83q \ xD3z \ x17“ \ xC1 \ xFF`只是在其中使用双引号'\'即`)\ x93 \ x83 \ x5C \ xD0 \ xD5B \ xC4 \ x83q \ xD3z \ x17 \“ \ xC1 \ xFF` (2认同)