hbase shell 区域列表中的无效十六进制字符

Invalid hex characters in region list in hbase shell

我们有一个 hBase table 和一个 Java 长的键。行添加者:

Put put = new Put(Bytes.toBytes(longVal));

当我在 hbase shell 中显示 table 的区域时,我看到显示了非十六进制值:

scan 'hbase:meta',{FILTER=>"PrefixFilter('table_name')"}  
...  
START => '\x00\x00\x00\xB3t\XAE\x1E'
  1. Shouldn't these all be valid hex?

我不确定这是怎么发生的。

  1. Is there a know bug in hBase that would cause display issues?

table 已损坏,我们正在尝试恢复尽可能多的数据。

  1. Could this be caused by the corruption?

hbase hbck 目前说 table 可以,顺便说一句。

只要您的数据 writing/reading 具有长行键,就没有问题。 Hbase shell 可以显示字节数据奇怪,但并不意味着它存储数据错误。 Shell 基本上试图将所有内容显示为字符串。