我想在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条答案
按热度按时间eyh26e7m1#
您也可以使用像这样的hbase内置函数
这对我很有用。
kzipqqlq2#
由于hbase shell是使用ruby实现的,所以可以通过以十六进制格式表示字节值来插入字节值。
例如,如果要插入字节值255:
255的十六进制表示是ff。在hbase shell中,我们应该将其命名为stringbinary,即“\xff”
“\x”是一个特殊的转义字符,用于从十六进制编码任意字节,因此“\xff”表示字节0xff。
所以呢
put 'table', 'rowkey', 'cf:qual', "\xFF"
将插入字节255重要提示:值必须在“”中(双引号)而不是“”(单引号)。
有用的链接:
ruby如何处理字节/二进制
十六进制数字(十六进制代码)备忘单