我将我的密钥保存为字节数组.在HBase Shell中,当我查看我的密钥时,我看到非十六进制值...我没有启用任何编码,我没有启用任何压缩.
这是一个样本......什么是VNQ?什么是BBW?我猜是有某种编码在进行?
\xFB\xC6\xE8\x03\xF0VNQ\x8By\xF6\x89D\xC1\xBBW\x00\x00\x00\x00\x00\x00\x01\xF3\x00\x00\x00\x00\x00\x07\xA1\x1F
Run Code Online (Sandbox Code Playgroud)
Ash*_*uri 13
HBase shell使用称为字节数组的"二进制字符串"(Escaped hexadecimal)表示来打印出键/值(参见Bytes.toStringBinary方法).这个方法基本上对每个字节做两件事之一:
我们的想法是使用可打印的表示法.如果你的键/值都是可打印的字符,那么shell就不会打印出任何那些奇怪的\ xHH序列.
如果您更喜欢Hex表示,请在HBase shell中尝试以下操作:
> import org.apache.hadoop.hbase.util.Bytes
> Bytes.toHex(Bytes.toBytesBinary("\xFB\xC6\xE8\x03\xF0VNQ"))
> fbc6e803f0564e51
Run Code Online (Sandbox Code Playgroud)
您可以修改hbase shell ruby包装器以使用toHex()方法而不是toStringBinary()来打印数据(或更好;如果您愿意,可以向HBase提供一个补丁以包含两个选项的标志;请参阅HBase开发者指南).
| 归档时间: |
|
| 查看次数: |
3121 次 |
| 最近记录: |