Hbase shell - 如何写字节值

set*_*thi 8 hbase

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

put 'table','key','cf:qual','A'
Run Code Online (Sandbox Code Playgroud)

但有没有办法直接写它:

put 'table','key','cf:qual',65 (this is not allowed though)
Run Code Online (Sandbox Code Playgroud)

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

更新:

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

Nan*_*nda 15

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

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

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

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

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

重要说明:值必须以""(双引号)而不是"(单引号).

有用的链接:

Ruby如何处理字节/二进制

十六进制数字(十六进制代码)Cheatsheet


lin*_*hrr 6

您还可以使用 Hbase 内置函数,如

> put 'table','rowkey','cf:qua', Bytes.toBytes(1234)
Run Code Online (Sandbox Code Playgroud)

这个对我有用。