Hadoop: 输出文件具有双重输出

2024-05-20 00:05:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在运行一个Hadoop程序,并将以下内容作为输入文件,输入.txt

1
2

映射器.py

^{pr2}$

减速器.py

import sys
for line in sys.stdin:
    print line,

当我在没有Hadoop的情况下运行它时: $猫/输入.txt| ./映射器.py| ./减速器.py,输出如预期:

1
2
Test

但是,通过流式API(如here)在Hadoop中运行它,输出的后一部分似乎有点“翻倍”:

1
2
Test    
Test

另外,当我通过Hadoop运行程序时,它似乎有1/4的失败几率,原因如下:

Error: # of failed Map Tasks exceeded allowed limit. FailedCount: 1.

我看了这个有一段时间了,不知道我没有得到什么。如果有人能帮助解决这些问题,我将不胜感激!谢谢。在

编辑:当输入.txt是:

1
2
3
4
5
6
7
8
9
10

输出为:

1   
10  
2   
3   
4   
5   
6   
7   
8   
9   
Test    
Test

Tags: 文件inpytestimport程序txthadoop