从HBase到CSV的多字节字符导出会产生错误数据

时间:2013-10-21 15:01:57

标签: csv export hbase

我使用模板将HBase表中的数据导出到CSV文件中,但是我遇到了明显的编码问题。数据全部使用UTF-8存储,并且使用了多种不同的字符集(俄语,中文,阿拉伯语等)。

这是导出数据的主循环。

for(HBaseCol column: columns) {

byte[] val = result.getValue(column.family.getBytes("UTF-8"), column.qualifier.getBytes("UTF-8"));

if (val != null) {

    //System.out.println(new String(val,"UTF-8"));
    values.add(new String(val,"UTF-8"));
} else {
    values.add("");
}
}

System.out.println()的数据会导致??????而CSV文件中的数据是行话,有随机字符等。

有什么见解?感谢。

1 个答案:

答案 0 :(得分:0)

答案其实很简单。我使用的CSV导出器没有配备处理UTF-8。我最终将数据导出到内存,然后直接插入MySQL。