写数据:
put.addColumn("ability".getBytes(), "ability".getBytes(), Bytes.toBytes(infos[1]));
读数据
Connection connection = HBaseConnectionUtil.getConnection();
Table table = connection.getTable(TableName.valueOf("jobs"));
ResultScanner scanner = table.getScanner(new Scan());
for(Result result:scanner){
byte[] row = result.getRow();
System.out.print("rowkey: "+new String(row));
List<Cell> cells = result.listCells();
for (Cell cell:cells){
byte[] familyArray = cell.getFamilyArray();
byte[] qualifierArray = cell.getQualifierArray();
byte[] valueArray = cell.getValueArray();
System.out.print(new String(familyArray,"utf-8")+" "+new String(qualifierArray,"utf-8")+" "+new String(valueArray));
}
System.out.println();
}
读出来的数据
rowkey: 000000000001 & 000000000001abilityability j�B�JAVA/hadoop/spark/es & 000000000001abilityability j�B�JAVA/hadoop/spark/es & 000000000001abilityability j�B�JAVA/hadoop/spark/es
不知道为什么,gbk、GB2312/UTF-8 都不行
写数据是从kafka 拉出来的,此时读到控制台也还正常
求解,感谢
|