2

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

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

请帮我。

4

1 回答 1

1

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

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

这将起作用。

于 2012-07-11T09:06:26.287 回答