我想在5台机器的hadoop集群中运行Mahout的K-Means示例.我需要在所有节点中保留哪些Mahout jar文件,以便以分布式方式执行K-Means.谢谢.
-Venkiram
我mvn -e package在Ubuntu 12.04中收到此错误:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.0.2:compile (default-compile) on project HadoopSkeleton: Compilation failure: Compilation failure:
[ERROR] /home/jesvin/dev/hadoop/HadoopMahoutSkeleton-master/src/main/java/HadoopSkeleton/App.java:[22,8] error: generics are not supported in -source 1.3
[ERROR]
[ERROR] (use -source 5 or higher to enable generics)
[ERROR] /home/jesvin/dev/hadoop/HadoopMahoutSkeleton-master/src/main/java/HadoopSkeleton/App.java:[53,28] error: for-each loops are not supported in -source 1.3
[ERROR] -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.0.2:compile (default-compile) on project HadoopSkeleton: Compilation failure
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:213)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at …Run Code Online (Sandbox Code Playgroud) 在Mahout中,使用API方法支持基于项目的推荐:
ItemBasedRecommender.mostSimilarItems(int productid, int maxResults, Rescorer rescorer)
Run Code Online (Sandbox Code Playgroud)
但是在Spark Mllib中,似乎ALS中的API可以获取推荐的产品,但必须通过以下方式提供userid:
MatrixFactorizationModel.recommendProducts(int user, int num)
Run Code Online (Sandbox Code Playgroud)
有没有办法获得基于类似产品的推荐产品,而无需提供用户ID信息,类似于mahout执行基于项目的推荐的方式.
recommendation-engine mahout apache-spark apache-spark-mllib
我有一组用户数据和他们的贷款偿还指标(他们花了多长时间,分期付款等).现在我想分析一下用户过去的贷款历史,然后说:"如果我们贷款给他们X,那么他们很有可能会在Z天内偿还Y期"
这是我的看法
所以我的问题是,哪些平台对此有利?到目前为止我看过Mahout.
我有一个包含数据向量的文件,其中每行包含逗号分隔的值列表.我想知道如何使用mahout对这些数据执行k-means聚类.wiki中提供的示例提到创建sequenceFiles,但是否则我不确定是否需要进行某种类型的转换才能获得这些sequenceFiles.
我们是学生试图处理大约1.4亿条记录的数据大小并试图运行一些机器学习算法.我们是整个云解决方案和mahout实现的新手.目前我们已经在postgresql数据库中设置它们但是当前的实现没有扩展,并且在经过多次性能调整后,读/写操作似乎非常慢.因此我们计划寻求基于云的服务.
我们已经探索了一些可能的替代方案.
以下是以下问题
谢谢
我试图在mahout kmeans聚类示例(synthetic_control示例)的输出上执行"clusterdump".但我遇到以下错误:
> ~/MAHOUT/trunk/bin/mahout clusterdump --seqFileDir clusters-10-final --pointsDir clusteredPoints --output a1.txt
MAHOUT_LOCAL is not set; adding HADOOP_CONF_DIR to classpath.
Running on hadoop, using /usr/lib/hadoop/bin/hadoop and HADOOP_CONF_DIR=/usr/lib/hadoop/conf/
MAHOUT-JOB: /home/<username>/MAHOUT/trunk/examples/target/mahout-examples-0.8-SNAPSHOT-job.jar
12/06/21 22:43:18 WARN conf.Configuration: DEPRECATED: hadoop-site.xml found in the classpath. Usage of hadoop-site.xml is deprecated. Instead use core-site.xml, mapred-site.xml and hdfs-site.xml to override properties of core-default.xml, mapred-default.xml and hdfs-default.xml respectively
12/06/21 22:43:25 ERROR common.AbstractJob: Unexpected --seqFileDir while processing Job-Specific Options:
usage: <command> [Generic Options] [Job-Specific Options]
.....
Run Code Online (Sandbox Code Playgroud)
所以我猜clusterdump没有"seqFileDir"选项,但是所有的在线教程(例如https://cwiki.apache.org/MAHOUT/cluster-dumper.html)都引用了这个选项.你能告诉我补救措施或我缺少什么吗?
我正在使用Mahout群集,我有大型群集,每个群集拥有大约10万用户,每个用户有5个功能.在下一步中,我需要计算pearson相关性以找出群集用户之间的相似性.
目前我有一个python脚本,它对我做同样的事情,但正如预期的那样,它需要长时间的计算,不再是一个可行的选择
我查看了Mahout,因为它提供了使用Pearson,Tanimoto,loglikelyhood度量来查找UserSimilarity的功能,我无法找到的是开发这些相似性度量的Mapreduce版本的方法.
是否有任何资源可以举例并解释如何开发UserSimilarity的mapreduce版本,或者使用hadoop流和相同的java类是否有意义.
编辑
即使我在群集中拥有100k用户,我也很少需要计算100k*100k矩阵.大多数时候它将是一个10k*100k的矩阵.然而,我有大约500个这样的集群,所以计算500个10k*100k集群的时间相当长,这就是我寻找更好的方法和触发讨论的原因
我有运行与mahout 0.8的hadoop集群版本2.2.0,它兼容吗?因为无论何时我运行此命令:
bin/mahout recommenditembased --input mydata.dat --usersFile user.dat --numRecommendations 2 --output output/ --similarityClassname SIMILARITY_PEARSON_CORRELATION
Run Code Online (Sandbox Code Playgroud)
给我这个错误:
Exception in thread "main" java.lang.IncompatibleClassChangeError: Found interface org.apache.hadoop.mapreduce.JobContext, but class was expected
at org.apache.mahout.common.HadoopUtil.getCustomJobName(HadoopUtil.java:174)
at org.apache.mahout.common.AbstractJob.prepareJob(AbstractJob.java:614)
at org.apache.mahout.cf.taste.hadoop.preparation.PreparePreferenceMatrixJob.run(PreparePreferenceMatrixJob.java:75)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at org.apache.mahout.cf.taste.hadoop.item.RecommenderJob.run(RecommenderJob.java:158)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at org.apache.mahout.cf.taste.hadoop.item.RecommenderJob.main(RecommenderJob.java:312)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:622)
at org.apache.hadoop.util.ProgramDriver$ProgramDescription.invoke(ProgramDriver.java:72)
at org.apache.hadoop.util.ProgramDriver.run(ProgramDriver.java:144)
at org.apache.hadoop.util.ProgramDriver.driver(ProgramDriver.java:152)
at org.apache.mahout.driver.MahoutDriver.main(MahoutDriver.java:194)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:622)
at org.apache.hadoop.util.RunJar.main(RunJar.java:212)
Run Code Online (Sandbox Code Playgroud)
或者我错了?任何信息都会有帮助.
我正在使用Spark来构建推荐系统原型.经过一些教程后,我能够MatrixFactorizationModel从我的数据中训练出来.
然而,Spark mllib训练的模型只是一个Serializable.如何使用此模型为真实用户推荐?我的意思是,如果用户数据增加,我怎样才能将模型保存到某种数据库中或更新它?
例如,由Mahout推荐库训练的模型可以存储到像Redis这样的数据库中,然后我们可以稍后查询推荐的项目列表.但是我们如何才能在Spark中做类似的事情呢?有什么建议吗?
recommendation-engine mahout mahout-recommender apache-spark
mahout ×10
hadoop ×6
k-means ×3
amazon-ec2 ×2
apache-spark ×2
data-mining ×1
mapreduce ×1
maven ×1
numpy ×1