字符引用“&#1”是无效的XML字符

时间:2012-07-03 09:55:38

标签: hadoop

我将属性mapred.textoutputformat.separator设置为值\001。但是当我运行MR Job时,它会抛出异常:

  

字符引用“&#1”是无效的XML字符。

请帮帮我。

1 个答案:

答案 0 :(得分:1)

我得到了解决方案。原因是当使用“\ 001”字符序列或其他Unicode字符时,在对象序列化期间,它变为一些无效格式。

所以解决方案是使用Base64对字符进行编码,覆盖TextOutputFormat类的getRecordWriter方法,然后在那里对其进行解码。(Base64.decodeBase64)

这样可行。