Mahout测试
1、安装rar工具
[root@node1 software]# tar -zxf rarlinux-x64-5.3.0.tar.gz
[root@node1 software]# cd rar
[root@node1 rar]# make
2、将mahout-mahout-0.9目录文件上传到指定目录下
3.运行一个Mahout案例
运行Mahout自带的Kmeans算法,同时验证安装的Mahout是否能够正常运行。
具体步骤如下:
3.1、准备测试数据
下载文件synthetic control.data
(下载地址:http://archive.ics.uci.edu/ml/databases/synthetic_control/synthetic_control.data)
3.2、将下载好的数据上传到$MAHOUT_HOME/data目录下
[root@node1 mahout-mahout-0.9]# mkdir data
[root@node1 mahout-mahout-0.9]# ls data
4、在hdfs文件系统中创建testdata文件夹
[root@node1 hadoop-2.5.1]# hadoop fs -mkdir -p /user/root/testdata
[root@node1 hadoop-2.5.1]# hadoop fs -ls /
5、把测试数据传入到hdfs文件系统中
[root@node1 hadoop-2.5.1]# hadoop fs -copyFromLocal /opt/modules/mahout-mahout-0.9/data/synthetic_control.data /user/root/testdata
[root@node1 hadoop-2.5.1]# hadoop fs -ls /user/root/testdata
6、然后调用mahout中的examples得jar包来跑第一个例子,将600个点的数据源进行聚类
[root@node1 hadoop-2.5.1]# ./bin/hadoop jar /opt/modules/mahout-mahout-0.9/examples/target/mahout-examples-0.9-job.jar org.apache.mahout.clustering.syntheticcontrol.canopy.Job
程序分别运行了3个Job任务,最后把原始数据分为六类。
在HDFS文件系统中/user/root/output文件夹中可以看到输出的文件,但是这些文件都是序列文件,
我们使用Mahout的文件转换把序列文件转换为文本文件,这样就能比较清晰地分析输出结果。
7、给$MAHOUT_HOME/bin/mahout目录给执行权限
[root@node1 mahout-mahout-0.9]# chmod u+x ./bin/mahout
[root@node1 mahout-mahout-0.9]# ./bin/mahout clusterdump -i output/clusters-0-final -p output/clusteredPoints -o test.txt
我们可以将文件拿到当前文件夹存为test.txt文件
-i是输入文件路径,即运行Canopy算法产生的中心点文件路径(HDFS文件系统);
-p是运行Canopy算法后把原始数据分类后的数据文件目录(HDFS文件系统);
-o是分类结果的所有文本文件要生成的文件路径(本地文件系统)。
Clusterdump是有其他参数的,这里只用到这三个就可以了。
[root@node1 mahout-mahout-0.9]# cat test.txt