用Maven创建Mahout项目

Hadoop家族系列文章,主要介绍Hadoop家族产品,常用项目包括Hadoop,Pig,HBase,Sqoop,Mahout,Zookeeper,Avro,Ambari,Chukwa新增加的项目包括YARN,Hcatalog,Oozie,Cassandra,Hama,Whirr,Flume,Bigtop,Crunch,Hue等。
前言
基于Hadoop的项目,不管是MapReduce开发,还是Mahout的开发都是一个复杂的编程环境中开发。Java的环境问题,是困扰着每个程序员的噩梦。Java程序员,不仅要写Java程序,还要会调linux,会配Hadoop,启动Hadoop,还要会自己运维。所以,新手想玩起Haoop真不是件简单的事。
不过,我们可以尽可能的简化环境问题,让程序员只关注写程序。特别是像算法程序员,把精力投入在算法设计上,要比花时间解决环境问题有价值的多!
目录

  1. Maven介绍和安装
  2. Mahout单机开发环境介绍
  3. 用Maven构建Mahout开发环境
  4. 用Mahout实现协同过滤userCF
  5. 用Mahout实现kmeans
  6. 模板项目上传github

1. Maven介绍和安装

请参考文章:用Maven构建Hadoop项目
开发环境
Win7 64bit
Java 1.6.0_45
Maven 3
Eclipse Juno Service Release 2
Mahout 0.6
这里说明一下mahout的运行版本。
mahout-0.5,mahout-0.6,mahout-0.7,是基于hadoop-0.20.2x的。
mahout-0.8,mahout-0.9,是基于hadoop-1.1.x的。
mahout-0.7,有一次重大升级,去掉了多个算法的单机内存运行,并且部分API不向前兼容。
注:本文中两个例子都是基于单机的内存实现,因此选择0.6版本。Mahout在Hadoop集群中运行会在下一个文章中介绍。

2.Mahout单机开发环境介绍

这里写图片描述
如上图所示,我们可以选择在win中开发,也可以在Linux中开发,开发过程我们可以在本地环境进行调试,标配的工具都是Maven和eclipse。

3.用Maven构建Mahout开发环境

1.用Maven创建一个标准化的Java项目
2.导入项目到eclipse
3.增加mahout依赖,修改pom.xml
4.下载依赖
1).用Maven创建一个标准化的Java项目

~ D:\workspace\java>mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes 
-DgroupId=org.conan.mymahout -DartifactId=myMahout -DpackageName=org.conan.mymahout -Dversion=1.0-SNAPSHOT -DinteractiveMode=false

进入项目,执行mvn命令

~ D:\workspace\java>cd myMahout
~ D:\workspace\java\myMahout>mvn clean install

2).导入项目到eclipse
我们创建好了一个基本的maven项目,然后导入到eclipse中。这里我们最好已经安装好了Maven的插件。
这里写图片描述
3).增加mahout依赖,修改pom.xml
这里我使用hadoop-0.6版本,同时去掉对junit的依赖,修改文件:pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.conan.mymahout</groupId>
<artifactId>myMahout</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>myMahout</name>
<url>http://maven.apache.org</url>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<mahout.version>0.6</mahout.version>
</properties>

<dependencies>
<dependency>
<groupId>org.apache.mahout</groupId>
<artifactId>mahout-core</artifactId>
<version>${mahout.version}</version>
</dependency>
<dependency
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值