默认情况下,通过hbase shell的scan或get等命令获取的中文内容都是16进制的,无法直观的查看数据。
其实hbase shell中是有方法将16进制中文转换成utf-8格式的中文的。
主要有两种方式:
- 使用FORMATTER => 'toString'
- 使用:toString
示例:
hbase(main):037:0> scan 'test'
ROW COLUMN+CELL
row1 column=cf:age, timestamp=1590022260683, value=38
row1 column=cf:name, timestamp=1590022712053, value=\xE9\x9F\xA6\xE5\xBE\xB7
row2 column=cf:age, timestamp=1590022412626, value=36
row2 column=cf:name, timestamp=1590022379250, value=\xE8\xA9\xB9\xE5\xA7\x86\xE6\x96\xAF
方式1:
hbase(main):036:0> scan 'test',{FORMATTER => 'toString'}
ROW COLUMN+CELL
row1 column=cf:age, timestamp=1590022260683, value=38
row1 column=cf:name, timestamp=1590022712053, value=韦德
row2 column=cf:age, timestamp=1590022412626, value=36
row2 column=cf:name, timestamp=1590022379250, value=詹姆斯
方式2:
hbase(main):041:0> scan 'test',{COLUMNS => 'cf:name:toString'}
ROW COLUMN+CELL
row1 column=cf:name, timestamp=1590022712053, value=韦德
row2 column=cf:name, timestamp=1590022379250, value=詹姆斯