使用IntelliJ IDEA 编译开源的机器学习源码--Oryx
What is Oryx?
大名鼎鼎的Sean Owen (http://www.linkedin.com/in/srowen) 正在 Cloudera 作为 Director of Data Science 专注投身于名为Oryx的开源机器学习项目当中。(Oryx意思是剑羚,属于非洲羚羊的一类分支)。如果您读过《Mahout in Action》这本书,您应该有印象:此书的作者之一就是Sean Owen。
Oryx的开发意图在于帮助Hadoop用户构建机器学习模式并将其加以部署,这样我们就能够以实时方式查询并获取其结果——例如将其作为垃圾邮件过滤器或者推荐引擎的组成部分。
作为Hadoop当中实现机器学习模式创建的传统途径,Apache Mahout "已经走到了发展道路的尽头。"Owen如是说。
The Oryx open source project provides simple, real-time large-scale machine learning / predictive analytics infrastructure.
Architecture
Oryx does two things at heart: builds models, and serves models. These are the responsibilities of two separate components, the Computation Layer and Serving Layer, respectively.

在 IntelliJ IDEA 中编译 Oryx
虽然我是忠实的 Visual Studio 的拥趸(老牌的Windows Phone Developer),但是在工作中不可避免也会遇到 Java 开发的工作,比如目前专注的基于机器学习算法的推荐引擎。对我而言,Eclipse 是生命中不能承受之轻(至少目前为止是如此),之前基于 Apache Mahout 所做的推荐算法是在 Eclipse 中编码和生成Jar包,遇到的问题无数。比如在 Eclipse 中导入 不管是 Mahout 还是 Oryx 的源码都出现我无法解决的编译错误。众所周知 Mahout 和 Oryx 都是基于 Maven 编译的,而在我的 Eclipse 开发环境中出现的 Maven 编译错误,花费了很多时间查找资料,但是最终还是无从解决。
在得知机器学习领域的大神Sean Owen 使用 IntelliJ IDEA 开发 Oryx ,毅然决然地安装 IntelliJ IDEA Community Edition ( http://www.jetbrains.com/idea/download/ )。
在 Cloudera 的开发者社区 Data Science and Machine Learning 论坛您可发现 Owen 的足迹,耐心地为开发者解答 Apache Mahout 和 Oryx 的疑问。
在 Windows 8.1 中启动 IntelliJ IDEA,打开从 GitHub 下载的 Oryx 开源代码 (https://github.com/cloudera/oryx ) 。

在 Oryx Project 上点击鼠标右键,选择 "Maven" – "Reimport",IntelliJ IDEA 重新导入项目所依赖的 Maven Libraries。

至此,Oryx 的源码即可编译成功,研究之,学习之。
使用IntelliJ IDEA 编译开源的机器学习源码--Oryx的更多相关文章
- Spring源码学习01:IntelliJ IDEA2019.3编译Spring5.3.x源码
目录 Spring源码学习01:IntelliJ IDEA2019.3编译Spring5.3.x源码 前言 工欲善其事必先利其器.学习和深读Spring源码一个重要的前提:编译源码到我们的本地环境.这 ...
- Spring源码解析 | 第一篇 :IntelliJ IDEA2019.3编译Spring5.3.x源码
前言 工欲善其事必先利其器.学习和深读Spring源码一个重要的前提:编译源码到我们的本地环境.这样方便我们在本地环境添加注释.断点追踪.查看类或接口的继承关系等等,更加高效的学习Spring源码.个 ...
- 开源MyBatisGenerator组件源码分析
开源MyBatisGenerator组件源码分析 看源码前,先了解Generator能做什么? MyBatisGenerator是用来生成mybatis的Mapper接口和xml文件的工具,提供多种启 ...
- 【原】Android热更新开源项目Tinker源码解析系列之三:so热更新
本系列将从以下三个方面对Tinker进行源码解析: Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Android热更新开源项目Tinker源码解析系列之二:资源文件热更新 A ...
- 【原】Android热更新开源项目Tinker源码解析系列之一:Dex热更新
[原]Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Tinker是微信的第一个开源项目,主要用于安卓应用bug的热修复和功能的迭代. Tinker github地址:http ...
- 【原】Android热更新开源项目Tinker源码解析系列之二:资源文件热更新
上一篇文章介绍了Dex文件的热更新流程,本文将会分析Tinker中对资源文件的热更新流程. 同Dex,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载. 本系列将从以下三个方 ...
- android 在线升级借助开源中国App源码
android 在线升级借助开源中国App源码 http://www.cnblogs.com/luomingui/p/3949429.html android 在线升级借助开源中国App源码分析如下: ...
- 编译hadoop2.2.0源码时报错
编译hadoop2.2.0源码时, mvn install -DskipTests 报错: [ERROR] COMPILATION ERROR : [INFO] ------------------- ...
- Ubuntu12.04编译Android4.0.1源码全过程-----附wubi安装ubuntu编译android源码硬盘空间不够的问题解决
昨晚在编译源码,make一段时间之后报错如下: # A fatal error has been detected by the Java Runtime Environment: # # SIGSE ...
随机推荐
- jQ获取浏览器window的高宽
Window 对象Window 对象表示浏览器中打开的窗口.JavaScript 层级中的顶层对象,表示浏览器窗口.如果文档包含框架(frame 或 iframe 标签),浏览器会为 HTML 文档创 ...
- Android Studio教程--Android Studio 2.1安装与配置
1.下载Android Studio 去官网https://developer.android.com/studio/index.html下载最新版的Android Studio2.1(自备梯子) 或 ...
- 你真的了解NSNotificationCenter吗?
一:首先查看一下关于NSNotificationCenter的定义 @interface NSNotificationCenter : NSObject { @package void * __str ...
- OC中的内存管理
一. 基本原理 1. 什么是内存管理 移动设备的内存极其有限,每个app所能占用的内存是有限制的 当app所占用的内存较多时,系统会发出内存警告,这时得回收一些不需要再使用的内存空间.比如回收一些不需 ...
- ios必须知道的事情
一. 学前提醒 其实iOS开发就是开发iPhone\iPad上的软件,而要想开发一款软件,首先要学习程序设计语言 iOS开发需要学习的主要程序设计语言有:C语言.C++.Objective-C,其中C ...
- Visual studio 2013安装
最头疼装一些需要安装插件的软件,刚开始下载了VS2013的一个版本,安装到一半就发现还得装一些必要插件,然后得重新删了再安装,倒弄了还几次才装好.这是第一次安装时是出现的情况. 第二次尝试安装,把所有 ...
- git技巧记录--子模块删除方法
把子模块推进去了,删掉吧(将子模块删除,然后提交推送),删除子模块步骤: 1.在Platform.Web库下,右键->Git Bash,进入git命令行窗口,输入:git rm –-cached ...
- Puppet权威指南
<Puppet权威指南>基本信息作者: 王冬生 丛书名: Linux/Unix技术丛书出版社:机械工业出版社ISBN:9787111485988上架时间:2014-12-25出版日期:20 ...
- SQL Server连接SQL Server、SQL Server连接ORACLE 链接服务器
夸数据库访问有很多种方式,其中部分用作接口访问,这里要介绍的是MSSQL访问另一台MSSQL,MSSQL访问ORACLE,其它暂不介绍. 1.MSSQL访问另一台MSSQL: a.展开服务器对象--& ...
- ORACLE查看数据文件包含哪些对象
在上篇ORACLE查看表空间对象中,我介绍了如何查询一个表空间有那些数据库对象,那么我们是否可以查看某个数据文件包含那些数据库对象呢?如下所示 SELECT E.SEGMENT_TYPE ...