Hbase Shell:价值被削减

yoo*_*shi 1 hbase

我有一个名为“ 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)

为什么我只看到前七个字节?我如何看到全部价值?

如果我要求的东西价值很小,那就行得通。但是大的价值观是不完整的。

cft*_*nas 5

您的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的字节,而将那些并非总是最清晰的字节保留下来。