如何写入字节值

yhuiod9q  于 2021-06-09  发布在  Hbase
关注(0)|答案(2)|浏览(374)

我想在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之间的值。

eyh26e7m

eyh26e7m1#

您也可以使用像这样的hbase内置函数

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

这对我很有用。

kzipqqlq

kzipqqlq2#

由于hbase shell是使用ruby实现的,所以可以通过以十六进制格式表示字节值来插入字节值。
例如,如果要插入字节值255:
255的十六进制表示是ff。在hbase shell中,我们应该将其命名为stringbinary,即“\xff”
“\x”是一个特殊的转义字符,用于从十六进制编码任意字节,因此“\xff”表示字节0xff。
所以呢 put 'table', 'rowkey', 'cf:qual', "\xFF" 将插入字节255
重要提示:值必须在“”中(双引号)而不是“”(单引号)。
有用的链接:
ruby如何处理字节/二进制
十六进制数字(十六进制代码)备忘单

相关问题