我需要在 hadoop 之上处理级联的 UTF-16LE 编码文件。我尝试了以下方法,但这些方法都不起作用。
-
由于 NullPointerException 为 mapred-site.xml中
-Xmx1024m -Dfile.encoding=UTF-16LE
的属性赋值失败:但此方法适用于 UTF-8。hadoop 是否无法处理 UTF-16 数据?mapreduce.map.java.opts
com.google.common.base.Preconditions.checkNotNull(Preconditions.java:187)
- 在代码中做
System.setProperty("file.encoding", "UTF-16LE");
也无法解析数据 - 覆盖 Cascading 的 TextDelimited 类的字符集也无法处理数据
但是,使用 BufferedReader 在 UTF-16LE 中读取它可以正确解析数据。
请帮忙
提前致谢