我想在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范围内。
答案 0 :(得分:15)
由于Hbase Shell是使用ruby实现的,因此您可以通过以十六进制格式表示字节值来插入字节值。
例如,如果要插入字节值255:
255的十六进制表示是FF。 在Hbase shell中,我们应该将其作为stringBinary给出,即“\ xFF”
“\ x”是一个特殊的转义字符,用于对十六进制中的任意字节进行编码,因此“\ xFF”表示字节0xFF。
所以
put 'table', 'rowkey', 'cf:qual', "\xFF"
将插入字节255
重要提示:该值必须以“”(双引号)而非“(单引号)。
有用的链接:
答案 1 :(得分:4)
你也可以使用Hbase内置的功能
> put 'table','rowkey','cf:qua', Bytes.toBytes(1234)
它对我有用。