我有一个名为“ mytable”的hbase表,其中只有一个列族“ default”和一个限定符“ details”。
现在,我执行以下查询:
get 'mytable', 'test'
Run Code Online (Sandbox Code Playgroud)
结果的价值被削减了。它应该是一个数字(长整数):
COLUMN CELL
default:details timestamp=1337007859494, value=\x00\x00\x00\x00\x00\x00\xDFH
1 row(s) in 0.0360 seconds
Run Code Online (Sandbox Code Playgroud)
为什么我只看到前七个字节?我如何看到全部价值?
如果我要求的东西价值很小,那就行得通。但是大的价值观是不完整的。
您的long的所有8个字节都在该字符串中:
\x00\x00\x00\x00\x00\x00\xDFH
Run Code Online (Sandbox Code Playgroud)
这样更容易看到:
\x00 \x00 \x00 \x00 \x00 \x00 \xDF H
Run Code Online (Sandbox Code Playgroud)
前6个字节为0(十六进制\ x00),下一个为223(十六进制\ xDF),最后一个为ASCII H(\ x48),这使您的十进制长为57,160。HBase的值只是字符数组,并且不识别类型,因此Shell会以十六进制转义所有不可打印ASCII的字节,而将那些并非总是最清晰的字节保留下来。
| 归档时间: |
|
| 查看次数: |
2034 次 |
| 最近记录: |