hbase shell中查看16进制的中文

时间:2025-01-23 07:46:50

默认情况下,通过hbase shell的scan或get等命令获取的中文内容都是16进制的,无法直观的查看数据。

其实hbase shell中是有方法将16进制中文转换成utf-8格式的中文的。

主要有两种方式:

  1. 使用FORMATTER => 'toString'
  2. 使用: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=詹姆斯