将目录作为 spark-itemsimilarity 的输入路径时出错?

error when giving directory as input path to spark-itemsimilarity?

当从终端 运行 mahout spark-itemsimilarity 到目录的输入路径时,我收到以下错误。

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
    at org.apache.mahout.math.cf.SimilarityAnalysis$.cooccurrencesIDSs(SimilarityAnalysis.scala:119)
    at org.apache.mahout.drivers.ItemSimilarityDriver$.process(ItemSimilarityDriver.scala:214)
    at org.apache.mahout.drivers.ItemSimilarityDriver$$anonfun$main.apply(ItemSimilarityDriver.scala:116)
    at org.apache.mahout.drivers.ItemSimilarityDriver$$anonfun$main.apply(ItemSimilarityDriver.scala:114)
    at scala.Option.map(Option.scala:145)
    at org.apache.mahout.drivers.ItemSimilarityDriver$.main(ItemSimilarityDriver.scala:114)
    at org.apache.mahout.drivers.ItemSimilarityDriver.main(ItemSimilarityDriver.scala)

提前致谢。

@eliasah

./mahout spark-itemsimilarity -D:spark.executor.extraClassPath=/home/kulwant/mahout/spark/target/mahout-spark_2.10-0.11.0-SNAPSHOT-dependency-reduced.jar --input /home/kulwant/data/ 

--输出/home/kulwant/output --master spark://kulwant-VirtualBox:7077 --inDelim , --itemIDColumn 1 --rowIDColumn 0

这是我从终端执行的命令

Github 中的 0.10.x 分支上使用 Mahout 0.10.1-SNAPSHOT,因为它不需要 -D:spark... 选项。

使用目录作为输入需要模式来匹配文件。默认模式匹配 HDFS "part-xxxxx" 文件。使用以下命令:

$ mahout spark-itemsimilarity -i /home/kulwant/data/ -fp ".*csv" -o /home/kulwant/output/ --master spark://kulwant-VirtualBox:7077 -id "," --itemIDColumn 0 --rowIDColumn 1

RowID = 用户 ID 所以根据您的数据,我认为您的项目和行列颠倒了。项目 ID 似乎在第 0 列,row/user 在第 1 列(我已在上面修复)。