首页
学习
活动
专区
圈层
工具
发布

Mahout
EN

Stack Overflow用户
提问于 2013-08-25 13:38:47
回答 1查看 2.7K关注 0票数 2

我试图计算维基百科文档之间的行相似度。我有Key class: class org.apache.hadoop.io.Text Value Class: class org.apache.mahout.math.VectorWritable格式的tf-以色列国防军载体.我正在关注从这里开始的快速文本分析:https://cwiki.apache.org/confluence/display/MAHOUT/Quick+tour+of+text+analysis+using+the+Mahout+command+line

我创建了一个mahout矩阵如下:

代码语言:javascript
复制
mahout rowid \
   -i wikipedia-vectors/tfidf-vectors/part-r-00000
   -o wikipedia-matrix

我得到了生成的行和列数:

代码语言:javascript
复制
vectors.RowIdJob: Wrote out matrix with 4587604 rows and 14121544 columns to wikipedia-matrix/matrix

矩阵是Key class: class org.apache.hadoop.io.IntWritable Value Class: class org.apache.mahout.math.VectorWritable格式的。

我还有一个具有以下格式的docIndex文档:Key class: class org.apache.hadoop.io.IntWritable Value Class: class org.apache.hadoop.io.Text

然后当我运行行相似作业时

代码语言:javascript
复制
mahout rowsimilarity 
   -i wikipedia-matrix/matrix 
   -o wikipedia-similarity 
   -r 4587604
   --similarityClassname SIMILARITY_COSINE
   -m 50
   -ess

我得到了以下错误:

代码语言:javascript
复制
13/08/25 15:18:18 INFO mapred.JobClient: Task Id : attempt_201308161435_0364_m_000001_1, Status : FAILED
java.lang.ClassCastException: org.apache.hadoop.io.Text cannot be cast to org.apache.mahout.math.VectorWritable
    at org.apache.mahout.math.hadoop.similarity.cooccurrence.RowSimilarityJob$VectorNormMapper.map(RowSimilarityJob.java:183)
    at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144)
    at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:648)
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:322)
    at org.apache.hadoop.mapred.Child$4.run(Child.java:266)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:396)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1278)
    at org.apache.hadoop.mapred.Child.main(Child.java:260)

有人能帮我解决这个错误吗?当输入矩阵是Key class: class org.apache.hadoop.io.IntWritable Value Class: class org.apache.mahout.math.VectorWritable格式时,我不确定输入矩阵在哪里?

非常感谢。

最好的,德拉甘

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-03 08:55:32

我使用以下命令解决了这个问题:

代码语言:javascript
复制
hadoop jar mahout-examples-0.9-SNAPSHOT.jar 
org.apache.mahout.math.hadoop.similarity.cooccurrence.RowSimilarityJob 
-i /user/dmilchev/wikipedia-matrix/matrix 
-o /user/dmilchev/wikipedia-similarity 
-r 4587604 --similarityClassname SIMILARITY_COSINE -m 50 -ess 

我没有发现任何错误。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18429571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档