我正在阅读 Mahout in Action 这本书并尝试分布式推荐引擎示例。但是,我在示例中使用了一个小型数据集,而不是 Wikipedia 数据集。
输入.txt->
1,15
1,13
1,12
1,10
2,11
2,15
2,20
2,17
2,12
3,10
用户.txt->
3
其中 input.txt 和 user.txt 的格式为user,item
input.txt 代表用户过去购买的商品,user.txt 代表当前购买的商品
当我将这两个文件复制到 hdfs 并运行时
hadoop jar mahout-core-0.5-job.jar \ org.apache.mahout.cf.taste.hadoop.item.RecommenderJob \ -Dmapred.input.dir=input/input.txt \ -Dmapred.output.dir=output - -usersFile 输入/user.txt --booleanData
map reduce 运行正常。但是,当我检查输出时bin/hadoop fs -cat output/
part-r-00000
我找到一个空文件。
有人可以解释我出了什么问题吗?如果我理解正确,推荐作业应该已经建立了一个项目到项目的相似度矩阵,将它与用户项目矩阵(来自 user.txt)相乘并产生结果。
需要一些帮助理解。我在单个节点上使用 Mahout 0.5 和 hadoop 1.2。我希望它不是版本兼容性的问题。
编辑
如果我将 user.txt 更改为
2
或者
1