mahout-ParallelsFactoriationJob运行太长?

nfg76nw0  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(404)

我试图在aws emr集群上运行mahout als建议,但是,这比我预期的要长得多。
以下是我运行的命令:

aws add-steps --cluster-id <cluster_id> \
              --steps Type=CUSTOM_JAR,\
                      Name="Mahout ALS Factorization Job",\ 
                      Jar=s3://<my_bucket>/recproto/mahout-mr-0.10.0-job.jar,\
                      MainClass=org.apache.mahout.cf.taste.hadoop.als.ParallelALSFactorizationJob,\
                      Args=["--input","s3://<my_bucket>/recproto/trainingdata/userClicks.csv.gz",\
                            "--output","s3://<my_bucket>/recproto/als-output/",\
                            "--implicitFeedback","true",\
                            "--lambda","150",\
                            "--alpha","0.05",\
                            "--numFeatures","100",\
                            "--numIterations","3",\
                            "--numThreadsPerSolver","4",\
                            "--usesLongIDs","true"]

在userclicks.csv文件中,有来自335636个用户和23934个项目的1567808个评级。
作业在10-c3.xlarge nodes emr集群上运行,并且作业已运行超过2小时。我想知道这正常吗?在我的评级文件的情况下,我应该使用哪种规模的电子病历集群和参数,以便我可以得到一个更可接受的运行时间?

z5btuh9x

z5btuh9x1#

我通过简单地使用spark als解决了这个问题。训练过程花在我的笔记本电脑上的时间不到2分钟,在同一个数据集上使用相同的参数。
我现在可以理解为什么一些机器学习算法由于性能问题而被弃用…(例如,minhash算法)

相关问题