映射函数在 EMR 中的 mapReduce 运行中失败



我在 Amazon EMR 上运行自己的 map reduce 任务。 我看到地图任务失败,我无法找出地图任务失败的原因。

import fileinput
import csv
myDict = {}
csvreader = csv.reader(fileinput.input(mode='rb'), delimiter=',')
for newline in  csvreader:
    #newline =  line.split(',')
    if newline[6] not in myDict.keys():
        #print 'Zipcode: ' + row[6] + ' Hospital code: ' + row[1]
        myDict[newline[6]] = 1
    elif newline[6] in myDict.keys():
        #print 'value in row '+ str(myDict[row[6]])
        myDict[newline[6]] += 1
for key in myDict.keys():
    print '%st%s' % (str(key), str(myDict[key]))

映射任务是读取作为输入给出的csv文件,使用两列中的数据创建键,值对。归约任务是聚合它们并打印它们。

以下是当 #!/usr/bin/env python 未添加到脚本顶部时为 maptask 获得的 stderr。如果是 adde,d stderr 为空,但映射任务失败。

/mnt/var/lib/hadoop/tmp/nm-local-dir/usercache/hadoop/appcache/application_1417478068297_0008/container_1417478068297_0008_01_000005/./map_zip_hospi.py: line 1: import: command not found
/mnt/var/lib/hadoop/tmp/nm-local-dir/usercache/hadoop/appcache/application_1417478068297_0008/container_1417478068297_0008_01_000005/./map_zip_hospi.py: line 2: import: command not found
/mnt/var/lib/hadoop/tmp/nm-local-dir/usercache/hadoop/appcache/application_1417478068297_0008/container_1417478068297_0008_01_000005/./map_zip_hospi.py: line 3: myDict: command not found
/mnt/var/lib/hadoop/tmp/nm-local-dir/usercache/hadoop/appcache/application_1417478068297_0008/container_1417478068297_0008_01_000005/./map_zip_hospi.py: line 4: syntax error near unexpected token `('
/mnt/var/lib/hadoop/tmp/nm-local-dir/usercache/hadoop/appcache/application_1417478068297_0008/container_1417478068297_0008_01_000005/./map_zip_hospi.py: line 4: `csvreader = csv.reader(fileinput.input(), delimiter=',')

'

我可以从控制台看到映射任务失败。有人可以帮助我找到代码的错误吗?

我错过了一件非常微不足道的事情,我也看到这个错误是由许多其他人犯下的。下面应该是 python 脚本的第一行。

#!/usr/bin/env python

相关内容

  • 没有找到相关文章

最新更新