HBase оболочка использует то, что называется «двоичная строка» (Сбежал шестнадцатеричный) представление байтовых массивов для распечатки ключей/значений (см Bytes.toStringBinary method). Этот метод в основном делает одну из двух вещей для каждого байта:
- Преобразуйте его в представление для печати (ASCII), если значение байта находится в пределах диапазона.
- Преобразуйте его в \ xHH (где «H» представляет шестнадцатеричную цифру), если значение байта не находится в диапазоне ASCII.
Идея заключается в использовании печатного представления. Если ваши ключи/значения были все печатаемыми символами, то оболочка не распечатывала ни одну из этих странных \ xHH последовательностей.
Если вы предпочитаете представление Hex вместо этого, попробуйте следующее HBase оболочки:
> import org.apache.hadoop.hbase.util.Bytes
> Bytes.toHex(Bytes.toBytesBinary("\xFB\xC6\xE8\x03\xF0VNQ"))
> fbc6e803f0564e51
Вы можете изменить HBase оболочки рубин оберток использовать метод toHex() вместо toStringBinary() для печати данных (или лучше, вы можете внести исправление в HBase, чтобы включить флаг для двух вариантов, если вам это нравится, см. HBase developer guide).