我正在尝试通过执行以下操作来测试hadoop流媒体作业的mapper和reducer函数:
cat data.txt | python mapper.py | sort | python reducer.py
但是映射器的排序输出不正确。
he the 1
i 1
i dog 1
i like 1
i'm 1
i'm rob 1
i'm the 1
i the 1 ### this should be after "i like 1" ###
lazy 1
我让其他人在他们的机器上进行测试,他们使用完全相同的映射器函数和命令行执行获得正确的输出。所以我的Unix排序似乎出了问题。
如果这有帮助:
echo $TERM
> vt100
任何有关尝试或设置不同的建议都将非常感激。感谢
答案 0 :(得分:5)
您的回答是here,而且是关于区域设置的。简而言之,你应该使用
cat data.txt | python mapper.py | LC_COLLATE=C sort