我将属性mapred.textoutputformat.separator
设置为值\001
。但是当我运行MR Job时,它会抛出异常:
字符引用“&#1”是无效的XML字符。
请帮帮我。
答案 0 :(得分:1)
我得到了解决方案。原因是当使用“\ 001”字符序列或其他Unicode字符时,在对象序列化期间,它变为一些无效格式。
所以解决方案是使用Base64对字符进行编码,覆盖TextOutputFormat类的getRecordWriter方法,然后在那里对其进行解码。(Base64.decodeBase64)
这样可行。