我正在使用Python进行Hadoop Streaming,并且在排序方面存在问题。我的测试数据给出了预期的结果:
cat movies.dat smallest.dat users.dat | ./Mapper.py | sort -h
显示输出:
Boomerang (1992)::F::3
但是,非测试数据不会:
cat movies.dat ratings.dat users.dat | ./Mapper.py | sort -h
给出错误:
sort: both SI and IEC prefixes present on units
close failed in file object destructor:
Error in sys.excepthook:
Original exception was:
结果,Hadoop Streaming的输出是一个空文件。
测试数据来自原始文件;来自MovieLens数据集的 ratings.dat ,例如:
1::1193::5::978300760
1::661::3::978302109
等
任何人都可以解释发生了什么,我能做些什么?
答案 0 :(得分:0)
我将输出顺序更改为F::Boomerang (1992)::3
,错误消失了。我不明白为什么;但这不再是问题。