一、编译的必要性

  由于hadoop的生态系统中的各个组建之间的兼容性的问题,因此导致将各个组件组合在一起的时候,会存在一个兼容性的问题,这也是apache hadoop生态系统给开发者带来的一个问题,因此,一些商业公司对这些版本和一些组件进行了包装和打包,将一些必备的组件整合在一起 ,避免了开发者自行去编译或者考虑兼容性的问题。例如:CDH就是一个典型的例子。当然这个商业的版本肯定是需要收费的。本公司为了减少成本,于是乎,就增加了我的工作量,需要将各组件组合在一起,这时候为了兼容性的问题需要对其他的组件进行编译。编译当然是对源码进行编译。这一篇文章介绍如何编译mahout0.9,淡然mahout0.10.0版本编译类似。

二、mahout0.9的编译

1、编译之前肯定是需要源码,因此需要在网上下载源码:

   http://mahout.apache.org/ 下载源码mahout-distribution-0.9-src.tar.gz

对源码进行解压,由于我是在windows下编译的,直接通过rar进行解压。若是在;linux上进行编译的话,则:

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

2、编译

  进入解压缩目录,执行命令

    mvn clean package -Dhadoop2 -Dhadoop2.version=2.6.0 -DskipTests=true

  等待编译结果,一般情况可能由于网络的问题都不会一次性编译成功的,可以根据相应的提示内容继续进行编译。

3、编译好了之后,mahout的各个组件下面都会生成相应的jar包。此时我们需要明白一个问题:到底如何使用mahout呢?

  实际上,mahout只是一个机器学习的算法库,在这个库当中是想了相应的机器学习的算法,如:推荐系统(包括基于用户和基于物品的推荐),聚类和分类算法。并且这些算法有些实现了MapReduce,spark从而可以在hadoop平台上运行,在实际的开发过程中,只需要将相应的jar包即可。

 

编译mahout0.9的更多相关文章

  1. Maven编译并打包Mahout CDH版源码

    目录 1. 问题描述 最近在使用Mahout里的推荐算法进行实验,由于业务需求,需要修改Mahout源码,将原本输出到HDFS上的结果输出到HBase中.由于Mahout发布的源码都是Maven项目, ...

  2. TODO:macOS编译PHP7.1

    TODO:macOS编译PHP7.1 本文主要介绍在macOS上编译PHP7.1,有兴趣的朋友可以去尝试一下. 1.下载PHP7.1源码,建议到PHP官网下载纯净到源码包php-7.1.0.tar.g ...

  3. Centos6.5下编译安装mysql 5.6

    一:卸载旧版本 使用下面的命令检查是否安装有MySQL Server rpm -qa | grep mysql 有的话通过下面的命令来卸载掉 rpm -e mysql //普通删除模式 rpm -e ...

  4. CENTOS 6.5 平台离线编译安装 PHP5.6.6

    一.下载php源码包 http://cn2.php.net/get/php-5.6.6.tar.gz/from/this/mirror 二.编译 编译之前可能会缺少一些必要的依赖包,加载一个本地yum ...

  5. CENTOS 6.5 平台离线编译安装 Mysql5.6.22

    一.下载源码包 http://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.22.tar.gz 二.准备工作 卸载之前本机自带的MYSQL 安装 cmake,编 ...

  6. Android注解使用之注解编译android-apt如何切换到annotationProcessor

    前言: 自从EventBus 3.x发布之后其通过注解预编译的方式解决了之前通过反射机制所引起的性能效率问题,其中注解预编译所采用的的就是android-apt的方式,不过最近Apt工具的作者宣布了不 ...

  7. Hawk 6. 编译和扩展开发

    Hawk是开源项目,因此任何人都可以为其贡献代码.作者也非常欢迎使用者能够扩展出更有用的插件. 编译 编译需要Visual Stuido,版本建议使用2015, 2010及以上没有经过测试,但应该可以 ...

  8. android studio 使用 jni 编译 opencv 完整实例 之 图像边缘检测!从此在andrid中自由使用 图像匹配、识别、检测

    目录: 1,过程感慨: 2,运行环境: 3,准备工作: 4,编译 .so 5,遇到的关键问题及其解决方法 6,实现效果截图. (原创:转载声明出处:http://www.cnblogs.com/lin ...

  9. 在Windows上编译和调试CoreCLR

    生成CoreCLR - Windows篇 本文的唯一目的就是让你运行Hello World 运行环境 Window 7+ Visual studio 2015 确保C++ 工具已经被安装,默认是不安装 ...

随机推荐

  1. mysql 免安装版本 命令安装

    1.down load mysql-5.5.28-win32.zip 2.unzip it to a path such as d:/mysq/mysql-5.5.28-win32 3.copy th ...

  2. 打通B/S与C/S !让HTML5 WebSocket与.NET Socket公用同一个服务端!

    随着HTML5 WebSocket技术的日益成熟与普及,我们可以借助WebSocket来更加方便地打通BS与CS -- 因为B/S中的WebSocket可以直接连接到C/S的服务端,并进行双向通信.如 ...

  3. [maven] 使用问题及思考汇总

    (1)Maven坐标 maven坐标可以唯一标识一个项目,包含四个元素 groupId , artifactId, packaging, version. groupId:一般为团体,公司,项目.如 ...

  4. Ubuntu配置Open BlockChain

    /* 以前只是听说过BlockChain,没怎么了解过,最近导师在搞Blockchain,让我配一下Open BlockChain的环境,于是就硬着头皮配了一下,还挺顺利的. 由于没接触过BlockC ...

  5. 工程目录 Java/Web/Maven

    jar包和war包的区别 war是一个web模块,其中需要包括WEB-INF,是可以直接运行的WEB模块.而jar一般只是包括一些class文件,在声明了Main_class之后是可以用java命令运 ...

  6. (26)odoo中的序列运用

    * 模块中增加序列    __openerp__.py :    ...     'data': [        'product_data.xml',    ],    ...    ------ ...

  7. python中的popen和subprocess

    import os from subprocess import Popen, PIPE res = os.popen('xx.exe E:\\test\\file1 E:\\test\\file2' ...

  8. HDUOJ-------2493Timer(数学 2008北京现场赛H题)

    Timer Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

  9. WCF学习笔记

    1,关于WCF/web service/WSE Web Service:是行业标准,也就是Web Service 规范,也称作WS-*规范,既不是框架,也不是技术.它有一套完成的规范体系标准,而且在持 ...

  10. 语句--分支语句if case

    语句是指程序命令,都是按照顺序执行的.语句在程序中的执行顺序称为“控制流”或者“执行流”.根据程序对运行时所收到的输入的响应,在程序每次运行时控制流可能有所不同. 语句可以嵌套,可以是以分号结尾的单行 ...