首先对测试K-Means来说,这个测试使用的 mahout org.apache.mahout.clustering.syntheticcontrol.kmeans.Job方法。
大多数网友对于这个测试都很疑惑就是在测试的时候总是报错,
显示“Input path does not exist: hdfs: **************”类似于此的。
我开始也被这个苦恼,后来自己弄明白原理就懂了,是因为这个测试的类的路径是固定的,如果你是开始创建的目录是/usr/。。。的,就绝对会报错。因为这个类使用的目录是/user的。接下来看如下的步骤:
首先前提是安装好hadoop与Mahout.
这里送上链接:
Mahout安装
http://blog.csdn.net/u012965373/article/details/50612225
接下来开始测试的步骤
注意:必须先运行hadoop,并且下载测试数据:wget http://archive.ics.uci.edu/ml/databases/synthetic_control/synthetic_control.data。
在hadoop中 hdfs 中创建 testdata 目录。
bin/hadoop fs -mkdir /user/hadoop/testdata
然后查看下
bin/hadoop fs -ls /user/hadoop/testdata
接着把数据文件上传到 /user/hadoop/testdata/ 内
bin/hadoop fs -put /user/hadoop/mahout/synthetic_control.data /user/hadoop/testdata
接着查看是否在
bin/hadoop fs -ls /user/hadoop/testdata/
运行:mahout org.apache.mahout.clustering.syntheticcontrol.kmeans.Job
固化的测试命令
mahout org.apache.mahout.clustering.syntheticcontrol.kmeans.Job运行后如图所示:
最后使用命令查看聚类结果。
hadoop fs -ls /user/hadoop/output
OK,后续的就可以get下来看了。