首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用Mahout在hadoop进行集群分析

Mahout是Apache下的开源机器学习软件包,目前实现的机器学习算法主要包含有协同过滤/推荐引擎,聚类和分类三个部分。Mahout从设计开始就旨在建立可扩展的机器学习软件包,用于处理大数据机器学习的问题,当你正在研究的数据量大到不能在一台机器上运行时,就 可以选择使用Mahout,让你的数据在Hadoop集群的进行分析。

Mahout某些部分的实现直接创建在Hadoop之上,这就使得其具有进行大数据 处理的能力,也是Mahout最大的优势所在。相比较于Weka,RapidMiner等 图形化的机器学习软件,Mahout只提供机器学习的程序包(library),不提供用户图形界面,并且Mahout并不包含所有的机器学习算法实现, 这一点可以算得上是她的一个劣势,但前面提到过Mahout并不是“又一个机器学习软件”,而是要成为一个“可扩展的用于处理大数据的机器学习软件”,但 是我相信会有越来越多的机器学习算法会在Mahout上面实现。

这是Apache官网上的算法描述,简单来说就是基于划分的聚类算法,把n个对象分为k个簇,以使簇内具有较高的相似度。相似度的计算根据一个簇中对象的平均值来进行。

在Hadoop上实现运行。

1,实验环境

hadoop集群环境:1.2.1 一个Master,两个Slaves,在开始运行kmeans时启动hadoop

操作系统:所有机器的系统均为ubuntu12.04

Mahout版本:采用的是0.5版

2,数据准备

数据采用的是 这是网上提供的一个比较不错是数据源。然后用指令 hadoop fs -put /home/hadoop/Desktop/data testdata,将在我桌面的文件data上传到HDFS的testdata目录下,这里为什么是testdata,我也正在思考,因为我本来是上传到 input里,但是运行时提示could not find ….user/testdata之类的,所以现改为了testdata。

3,运行

配置Mahout环境:在Apache官网下载Mahout的版本,我选择的是0.5。然后解压到你指定的目录,将此目录路径写入/etc/profile,添加如下语句:

export MAHOUT_HOME=/home/hadoop/hadoop-1.2.1/mahout-distribution-0.5

export HADOOP_CONF_DIR=/home/hadoop/hadoop-1.2.1/conf

export PATH=$PATH:/home/hadoop/hadoop-1.2.1/bin:$MAHOUT_HOME/bin

然后执行 source /etc/profile。在mahout目录下执行bin/mahout命令,检测系统是否安装成功。

注:此处修改环境变量有些网上提示是/etc/bash.bashrc,我也试着修改过,但是发现在我这里使环境变量生效的是profile。

4,结果

在我的环境下运行5分钟左右,最后生成一个文件。

四、总结

Mahout是一个很强大的数据挖掘工具,需要进行更深层的了解。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171219A088W700?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券