zoukankan      html  css  js  c++  java
  • Mahout0.9的安装与测试

    最近想实协同过滤的MR算法,但是网上查了一下,发现hadoop的生态系统中的Mahout的项目已经实现了相应的算法,因此想先尝试着实时这个mahout的使用及效果。要想用mahout必须要部署到hadoop上咯。

    1、下载mahout的版本,并解压缩到本地

    通过 http://mahout.apache.org/ 下载相应的版本,我下载的是mahout-distribution-0.9.tar.gz版本。

    tar -zxvf mahout-distribution-0.9.tar.gz

    mv mahout-distribution-0.9  mahout-0.9 

    2、配置环境变量

    export MAHOUT_HOME=/home/grid/mahout-0.9

    export PATH=$JAVA_HOME/bin:$MAHOUT_HOME/bin
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$MAHOUT_HOME/lib

    3、启动hadoop

    4、测试mahout

      mahout --help    #检查Mahout是否安装完好,看是否列出了一些算法

    这里要注意一下:上面的命令输入回车之后,会出现:MAHOUT_LOCAL not set 的信息时,此时不用惊慌,正如所显示的信息内容一样,mahout并没有在本地运行,而是在hadoop上面运行。

    5、测试Kmeans算法

      1)下载一个文件synthetic_control.data,下载地址http://archive.ics.uci.edu/ml/databases/synthetic_control/synthetic_control.data。

      2)建立输入文件的目录testdata,要想测试mahout自带的kmeans的例子,输入数据的目录名称必须为testdata。并将synthetic_control.data上传到hdfs上。

          hadoop fs -mkdir testdata

          hadoop fs -put /home/grid/synthetic_control.data testdata

      3)执行命令

      hadoop jar /home/grid/mahout-0.9/mahout-examples-0.9-job.jar org.apache.mahout.clustering.syntheticcontrol.kmeans.Job

      4)查看kmeans的输出结果。Kmeans例子是10迭代。

      hadoop fs -ls /user/grid/output/   会显示每次迭代的结果:

      

      5)执行完之后,查看结果

      若直接通过hadoop fs -cat 方式查看的话,会出现乱码,mahout的最新版本查看结果的方式是通过下面三种方式:

      mahout seqdumper:将SequenceFile文件转成可读的文本形式,对应的源文件是org.apache.mahout.utils.SequenceFileDumper.java
      mahout vectordump:将向量文件转成可读的文本形式,对应的源文件是org.apache.mahout.utils.vectors.VectorDumper.java
      mahout clusterdump:分析最后聚类的输出结果,对应的源文件是org.apache.mahout.utils.clustering.ClusterDumper.java

      mahout clusterdump --input /user/grid/output/data/part-m-00000 --output liujiyu.txt

      --inpput 表示的是输入参数

      --output 表示的是转化成本地可读的文件 

  • 相关阅读:
    Qt5对付中文真好用
    Qt5下的常见问题————C1083
    macbook pro retina 编程字体推荐
    boost::xml————又一次失败的尝试
    boost::xml——基本操作以及中文乱码解决方案 (续)
    C++单元测试2
    C++单元测试
    生成dll文件的示例
    咋一看你能看明白吗?
    boost::function实践——来自《Beyond the C++ Standard Library ( An Introduction to Boost )》
  • 原文地址:https://www.cnblogs.com/ljy2013/p/4487599.html
Copyright © 2011-2022 走看看