Hbase shell - 如何写字节值

时间:2014-03-27 08:44:46

标签: hbase

我想在hbase中写一个值为65的值。我必须在hbase shell上运行以下命令:

put 'table','key','cf:qual','A'

但有没有办法直接写它:

put 'table','key','cf:qual',65 (this is not allowed though)

如果您了解其他问题,请告诉我,我会解释更多。

更新

到65岁时我打算把A'但直接是' A'的ascii值。对我来说真正的问题是我想把shell中的值放在128-255范围内。

2 个答案:

答案 0 :(得分:15)

由于Hbase Shell是使用ruby实现的,因此您可以通过以十六进制格式表示字节值来插入字节值。

  

例如,如果要插入字节值255:

     

255的十六进制表示是FF。   在Hbase shell中,我们应该将其作为stringBinary给出,即“\ xFF”

     

“\ x”是一个特殊的转义字符,用于对十六进制中的任意字节进行编码,因此“\ xFF”表示字节0xFF。

     

所以put 'table', 'rowkey', 'cf:qual', "\xFF"将插入字节255

重要提示:该值必须以“”(双引号)而非“(单引号)。

有用的链接:

How Does Ruby handle bytes/binary

Hexadecimal Digits (Hex-Codes) Cheatsheet

答案 1 :(得分:4)

你也可以使用Hbase内置的功能

> put 'table','rowkey','cf:qua', Bytes.toBytes(1234)

它对我有用。