我是python编程的新手,所以如果我问一些答案很明显的问题,请原谅。我想运行一个map reduce程序,所以我根据需要安装了mrjob包。现在,当我尝试运行给定的示例程序时:
from mrjob.job import MRJob
class MRWordFrequencyCount(MRJob):
def mapper(self, _, line):
yield "chars", len(line)
yield "words", len(line.split())
yield "lines", 1
def reducer(self, key, values):
yield key, sum(values)
if __name__ == '__main__':
MRWordFrequencyCount.run()我收到一条错误消息,显示Win error 5 permission denied,然后打印存储应用程序数据的路径。我在这里做错了什么?
发布于 2018-03-13 00:09:13
您忘记了下划线
if __name__ == '__main__':
MRWordFrequencyCount.run()发布于 2018-07-08 07:04:32
我通过这个Github ticket I submitted to Yelp/MrJob的解决方案
问题
在Python3.6.x安装中运行Windows0.6.3将产生以下错误(类似于我本地的MRJob机器):
Removing temp directory C:\temp\app.{UserName}.20180707.222938.021378... [WinError 5] Access is denied: 'C:\\temp\\app.{UserName}.20180707.222938.021378\\step\\000\\cache\\app.py' Traceback (most recent call last): ... PermissionError: [WinError 5] Access is denied: 'C:\\temp\\app.{UserName}.20180707.222938.021378\\step\\000\\cache\\app.py'
尝试 1。尝试以管理员身份运行CLI2。尝试更改临时文件夹TEMP 3。pip uninstall mrjob,然后执行pip install mrjob==0.5.10
解决方案第三次尝试成功。通过在documentation here中浏览并安装最新的MRJob版本0.5.10,我让我的应用程序正常工作。
https://stackoverflow.com/questions/49239357
复制相似问题