我已经从该超链接下载movielens数据集ml-100k.zip(它是一个电影和用户信息数据集,它位于旧数据集选项卡中) 我已经写了简单的MapReduce代码如下所示;如何在命令行运行python程序之前将数据与python代码集成
from mrjob.job import MrJob
class MoviesByUserCounter(MRJob):
def mapper(self , key ,line):
(userID,movieID,rating,timestamp)=line.split('\t')
yield userID,movieID
def reducer(self , user , movies):
numMovies=0
for movie in movies:
numMovies=numMovies+1
yield user,numMovies
if __name__=='__main__':
MoviesByUserCounter.run()
我使用python 3.5.3版本和PyCharm社区版作为python ide。
我曾尝试在命令行
python my_code.py
上,但正如我竟然指望它的工作原理,但它无论如何不能等待响应它不起作用。
Running step 1 of 1...
reading from STDIN
我是怎样把数据(u.data:它已经运行了,而实际上它仍然会on.it仅在命令行上写它是数据文件,在ML- 100k.zip)在我的python程序代码中成功执行?如果还有其他解决方案,它也会很棒。
在此先感谢。
https://pythonhosted.org/mrjob/guides/quickstart.html#running-your-job-different-ways – Goyo
非常感谢Goyo,但在我问之前,我也试过了。它没有再次工作。 – pcpcne
你可以看看[argparse模块](https://pypi.python.org/pypi/argparse) –