将包含®和©等字符的数据从Oracle加载到HDFS - Hadoop分布式文件系统时出现问题

时间:2012-05-30 13:35:42

标签: hadoop hdfs sqoop

我正在使用Cloudera Sqoop将数据从Oracle数据库提取到HDFS。一切都很顺利,除了像®和©这样的某些字符,它们正在转换为HDFS中的©。 (但在Oracle中,数据存储没有任何问题)。有什么方法可以将这些字符存储在HDFS中吗?

Sqoop版本:1.3

谢谢, Karthikeya

2 个答案:

答案 0 :(得分:1)

您在Oracle数据库中使用哪种格式的字符?由于Hadoop使用UTF-8格式,因此如果数据形式不同,则应将数据转换为Oracle数据库。

答案 1 :(得分:1)

我强烈建议检查HDFS上的实际字节,而不是查看表示。我已经看到太多的情况,数据存储得很好(并且实际上由Sqoop自动转换为UTF8),只有表示/终端仿真器/用于读取数据的其他任何东西都在混乱编码。从HDFS下载文件,只需hexdump -C即可验证编码是否确实已损坏。