Python 产量翻了一番,出现故障
我正在使用Python编写一个简单的Hadoop程序 mapper.py:Python 产量翻了一番,出现故障,python,hadoop,mapreduce,Python,Hadoop,Mapreduce,我正在使用Python编写一个简单的Hadoop程序 mapper.py: #!/usr/bin/python import sys import numpy from collections import OrderedDict for line in sys.stdin: test = OrderedDict([('1', [11, 5, 5, 5, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0,
#!/usr/bin/python
import sys
import numpy
from collections import OrderedDict
for line in sys.stdin:
test = OrderedDict([('1', [11, 5, 5, 5, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0]), ('2', [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 4, 0, 0, 0, 0, 1, 0, 0, 0, 29, 28, 18, 12, 11, 11, 10, 9, 9, 9, 8, 8, 8, 6, 6, 6, 5, 5, 4, 4])])
for f in test:
print numpy.asarray(test[f])
#!/usr/bin/python
import sys
for line in sys.stdin:
print line,
1
2
[11 5 5 5 4 4 4 3 3 3 3 3 3 3 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0]
[ 0 0 0 0 0 0 0 0 1 0 3 4 0 0 0 0 1 0 0 0 29 28 18 12 11 11 10 9 9 9 8 8 8 6 6 6 5 5 4 4]
[11 5 5 5 4 4 4 3 3 3 3 3 3 3 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0]
[0 0 0 0 0 0 0 0 1 0 3 4 0 0 0 0 1 0 0 0 29 28 18 12 11 11 10 9 9 9 8 8 8 6 6 6 5 5 4 4]
0 0 0 0 0 0 0 0 0 0 0 0 0 1 0]
0 0 0 0 0 0 0 0 0 0 0 0 0 1 0]
11 10 9 9 9 8 8 8 6 6 6 5 5 4 4]
11 10 9 9 9 8 8 8 6 6 6 5 5 4 4]
[ 0 0 0 0 0 0 0 0 1 0 3 4 0 0 0 0 1 0 0 0 29 28 18 12 11
[ 0 0 0 0 0 0 0 0 1 0 3 4 0 0 0 0 1 0 0 0 29 28 18 12 11
[11 5 5 5 4 4 4 3 3 3 3 3 3 3 2 2 2 2 2 2 0 0 0 0 0
[11 5 5 5 4 4 4 3 3 3 3 3 3 3 2 2 2 2 2 2 0 0 0 0 0
减速器.py:
#!/usr/bin/python
import sys
import numpy
from collections import OrderedDict
for line in sys.stdin:
test = OrderedDict([('1', [11, 5, 5, 5, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0]), ('2', [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 4, 0, 0, 0, 0, 1, 0, 0, 0, 29, 28, 18, 12, 11, 11, 10, 9, 9, 9, 8, 8, 8, 6, 6, 6, 5, 5, 4, 4])])
for f in test:
print numpy.asarray(test[f])
#!/usr/bin/python
import sys
for line in sys.stdin:
print line,
1
2
[11 5 5 5 4 4 4 3 3 3 3 3 3 3 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0]
[ 0 0 0 0 0 0 0 0 1 0 3 4 0 0 0 0 1 0 0 0 29 28 18 12 11 11 10 9 9 9 8 8 8 6 6 6 5 5 4 4]
[11 5 5 5 4 4 4 3 3 3 3 3 3 3 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0]
[0 0 0 0 0 0 0 0 1 0 3 4 0 0 0 0 1 0 0 0 29 28 18 12 11 11 10 9 9 9 8 8 8 6 6 6 5 5 4 4]
0 0 0 0 0 0 0 0 0 0 0 0 0 1 0]
0 0 0 0 0 0 0 0 0 0 0 0 0 1 0]
11 10 9 9 9 8 8 8 6 6 6 5 5 4 4]
11 10 9 9 9 8 8 8 6 6 6 5 5 4 4]
[ 0 0 0 0 0 0 0 0 1 0 3 4 0 0 0 0 1 0 0 0 29 28 18 12 11
[ 0 0 0 0 0 0 0 0 1 0 3 4 0 0 0 0 1 0 0 0 29 28 18 12 11
[11 5 5 5 4 4 4 3 3 3 3 3 3 3 2 2 2 2 2 2 0 0 0 0 0
[11 5 5 5 4 4 4 3 3 3 3 3 3 3 2 2 2 2 2 2 0 0 0 0 0
输入文件:
#!/usr/bin/python
import sys
import numpy
from collections import OrderedDict
for line in sys.stdin:
test = OrderedDict([('1', [11, 5, 5, 5, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0]), ('2', [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 4, 0, 0, 0, 0, 1, 0, 0, 0, 29, 28, 18, 12, 11, 11, 10, 9, 9, 9, 8, 8, 8, 6, 6, 6, 5, 5, 4, 4])])
for f in test:
print numpy.asarray(test[f])
#!/usr/bin/python
import sys
for line in sys.stdin:
print line,
1
2
[11 5 5 5 4 4 4 3 3 3 3 3 3 3 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0]
[ 0 0 0 0 0 0 0 0 1 0 3 4 0 0 0 0 1 0 0 0 29 28 18 12 11 11 10 9 9 9 8 8 8 6 6 6 5 5 4 4]
[11 5 5 5 4 4 4 3 3 3 3 3 3 3 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0]
[0 0 0 0 0 0 0 0 1 0 3 4 0 0 0 0 1 0 0 0 29 28 18 12 11 11 10 9 9 9 8 8 8 6 6 6 5 5 4 4]
0 0 0 0 0 0 0 0 0 0 0 0 0 1 0]
0 0 0 0 0 0 0 0 0 0 0 0 0 1 0]
11 10 9 9 9 8 8 8 6 6 6 5 5 4 4]
11 10 9 9 9 8 8 8 6 6 6 5 5 4 4]
[ 0 0 0 0 0 0 0 0 1 0 3 4 0 0 0 0 1 0 0 0 29 28 18 12 11
[ 0 0 0 0 0 0 0 0 1 0 3 4 0 0 0 0 1 0 0 0 29 28 18 12 11
[11 5 5 5 4 4 4 3 3 3 3 3 3 3 2 2 2 2 2 2 0 0 0 0 0
[11 5 5 5 4 4 4 3 3 3 3 3 3 3 2 2 2 2 2 2 0 0 0 0 0
预期产出:
#!/usr/bin/python
import sys
import numpy
from collections import OrderedDict
for line in sys.stdin:
test = OrderedDict([('1', [11, 5, 5, 5, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0]), ('2', [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 4, 0, 0, 0, 0, 1, 0, 0, 0, 29, 28, 18, 12, 11, 11, 10, 9, 9, 9, 8, 8, 8, 6, 6, 6, 5, 5, 4, 4])])
for f in test:
print numpy.asarray(test[f])
#!/usr/bin/python
import sys
for line in sys.stdin:
print line,
1
2
[11 5 5 5 4 4 4 3 3 3 3 3 3 3 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0]
[ 0 0 0 0 0 0 0 0 1 0 3 4 0 0 0 0 1 0 0 0 29 28 18 12 11 11 10 9 9 9 8 8 8 6 6 6 5 5 4 4]
[11 5 5 5 4 4 4 3 3 3 3 3 3 3 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0]
[0 0 0 0 0 0 0 0 1 0 3 4 0 0 0 0 1 0 0 0 29 28 18 12 11 11 10 9 9 9 8 8 8 6 6 6 5 5 4 4]
0 0 0 0 0 0 0 0 0 0 0 0 0 1 0]
0 0 0 0 0 0 0 0 0 0 0 0 0 1 0]
11 10 9 9 9 8 8 8 6 6 6 5 5 4 4]
11 10 9 9 9 8 8 8 6 6 6 5 5 4 4]
[ 0 0 0 0 0 0 0 0 1 0 3 4 0 0 0 0 1 0 0 0 29 28 18 12 11
[ 0 0 0 0 0 0 0 0 1 0 3 4 0 0 0 0 1 0 0 0 29 28 18 12 11
[11 5 5 5 4 4 4 3 3 3 3 3 3 3 2 2 2 2 2 2 0 0 0 0 0
[11 5 5 5 4 4 4 3 3 3 3 3 3 3 2 2 2 2 2 2 0 0 0 0 0
实际产出:
#!/usr/bin/python
import sys
import numpy
from collections import OrderedDict
for line in sys.stdin:
test = OrderedDict([('1', [11, 5, 5, 5, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0]), ('2', [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 4, 0, 0, 0, 0, 1, 0, 0, 0, 29, 28, 18, 12, 11, 11, 10, 9, 9, 9, 8, 8, 8, 6, 6, 6, 5, 5, 4, 4])])
for f in test:
print numpy.asarray(test[f])
#!/usr/bin/python
import sys
for line in sys.stdin:
print line,
1
2
[11 5 5 5 4 4 4 3 3 3 3 3 3 3 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0]
[ 0 0 0 0 0 0 0 0 1 0 3 4 0 0 0 0 1 0 0 0 29 28 18 12 11 11 10 9 9 9 8 8 8 6 6 6 5 5 4 4]
[11 5 5 5 4 4 4 3 3 3 3 3 3 3 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0]
[0 0 0 0 0 0 0 0 1 0 3 4 0 0 0 0 1 0 0 0 29 28 18 12 11 11 10 9 9 9 8 8 8 6 6 6 5 5 4 4]
0 0 0 0 0 0 0 0 0 0 0 0 0 1 0]
0 0 0 0 0 0 0 0 0 0 0 0 0 1 0]
11 10 9 9 9 8 8 8 6 6 6 5 5 4 4]
11 10 9 9 9 8 8 8 6 6 6 5 5 4 4]
[ 0 0 0 0 0 0 0 0 1 0 3 4 0 0 0 0 1 0 0 0 29 28 18 12 11
[ 0 0 0 0 0 0 0 0 1 0 3 4 0 0 0 0 1 0 0 0 29 28 18 12 11
[11 5 5 5 4 4 4 3 3 3 3 3 3 3 2 2 2 2 2 2 0 0 0 0 0
[11 5 5 5 4 4 4 3 3 3 3 3 3 3 2 2 2 2 2 2 0 0 0 0 0
输出按字符串排序,字符串包含括号。您可以通过如下格式设置字符串来解决此问题:
print ', '.join(str(item) for item in numpy.asarray(test[f]))
您可以阅读其他SO问题以了解更多详细信息。谢谢您的回复。我试过了,它说
error:expected string,numpy.ndarray found
被连接的项目需要是一个字符串。我编辑了我的答案。不幸的是,它仍然是无序的,现在是这样开始的:,,,,,,,,,0,,,,,,0,,,,,,0,,,,,,0,,,,,,,1,,,,,,,,,,,,,,,,)