linux - Hadoop Streaming 没有正确编码字符

标签 linux hadoop cloudera hadoop-streaming

我们正在使用 Cloudera CDH(5) 将我们的 Hadoop 集群移动到一个新的设置,我遇到了一个我们在旧的(非 cloudera)集群上没有的问题。

从集群中两台(共十台)机器上的任务发出的任何文本都会发出 ??而不是 è、à 等“fran??ois-mout??”。

我们将 Hadoop Streaming 与使用单声道的 .net Mapper 和 Reducer 结合使用。我已将类内的编码设置为 UTF-8,所有机器(ubuntu 12.04)上的 $LOCALE 都是相同的 en_GB.UTF-8。

我几乎找不到导致此错误的原因,确实需要一个解决方案。

谢谢

最佳答案

感谢 http://www.stewh.com/2013/12/working-with-chinese-or-other-utf8-encoded-text-in-hadoop-streaming/,我找到了解决方案

我需要将 -cmdenv LC_CTYPE=en_GB.UTF-8 添加到我的 hadoop 流命令的末尾。

我将尝试将它添加到/etc/default/locale

~$ update-locale LC_CTYPE="en_GB.UTF-8"

永久修复,但目前这是一个很好的解决方案。

关于linux - Hadoop Streaming 没有正确编码字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24063188/

相关文章:

C 中的 clone() 系统调用和共享

linux - 在不伪造 RST、Linux 的情况下强制套接字断开连接

hadoop - 数据未从 HIVE 中的文件传输到表

sql - Impala 中的日期/字符串比较不起作用(总是返回 false)

hadoop - nameservice1 和 nameservice2 之间的 distcp

linux - 无法从外部访问 node.js

linux - 在linux vm中删除数据磁盘在windows azure中返回错误

hadoop - 在 Mapreduce 程序中,我们可以使用数据结构作为值吗?

python - 是否可以使用 DJango 运行 ubuntu 终端命令

hadoop - IMPLICIT_CAST_TO_DOUBLE 警告 : Pig