我正在尝试使用 ^A 作为减少输出文件中键和值之间的分隔符。我发现配置设置“mapred.textoutputformat.separator”是我想要的,这正确地将分隔符切换为“,”:
conf.set("mapred.textoutputformat.separator", ",");
但它不能处理 ^A 字符:
conf.set("mapred.textoutputformat.separator", "\u0001");
抛出此错误:
ERROR security.UserGroupInformation: PriviledgedActionException as:user (auth:SIMPLE) cause:org.apache.hadoop.ipc.RemoteException: java.io.IOException: java.lang.RuntimeException: org.xml.sax.SAXParseException; lineNumber: 68; columnNumber: 94; Character reference "&#
我找到了这张票https://issues.apache.org/jira/browse/HADOOP-7542并看到他们试图解决这个问题,但由于 XML1.1 问题而恢复了补丁。
所以我想知道是否有人成功地将分隔符设置为 ^A (似乎很常见),使用简单的解决方法。或者,如果我应该解决并使用制表符分隔符。
谢谢!
我在 CentOS 6.2 上运行 Hadoop 0.20.2-cdh3u5