我已經從該超鏈接下載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) –