2012-11-26 13:06 mahout调用流程分析

Mahout简介、安装与配置、在HDFS上运行 1、Mahout是什么? Mahout是一个算法库,集成了很多算法。 Apache Mahout 是 Apache Software Foundation(ASF)旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开 发人员更加方便快捷地创建智能应用程序。 Mahout项目目前已经有了多个公共发行版本。Mahout包含许多实现,包括聚类、分类、推荐过滤、频繁子项挖掘。 通过使... 阅读详情

mahout调用流程分析

  • 剖析mahout脚本

mahout 位于$MAHOUT_HOME/bin目录下,是所有mahout调用的入口。

主要会做各类环境变量的设置。

MAHOUT_JAVA_HOME:指定java的执行路劲,会覆盖$JAVA_HOME

MAHOUT_HEAPSIZE   :JAVA运行堆栈的内存大小

HADOOP_CONF_DIR  : hadoop 配置文件路径主要是*-site.xml这些文件的位置

MAHOUT_OPTS           : mahout运行时的java参数

MAHOUT_CONF_DIR    :类文件属性文件所在文件,文件名是类名简写,默认位置$MAHOUT_HOME/src/conf

MAHOUT_LOCAL         : 设置是否本地运行,如果设置这个参数就不会运行hadoop了,一旦设置这个参数,那HADOOP_CONF_DIR 和HADOOP_HOME 这两个参数的设置就自动失效了。

MAHOUT_CORE          :是否应用开发环境的core,还是发布的core。

 

参数-core                  指定引用包的路径

 

 

  • 案例调用流程

要运行example的时候,最终的触发语句如下:

exec"$HADOOP_BINARY" jar $MAHOUT_JOB $CLASS "$@"

1、$HADOOP_BINARY 就是hadoop的执行文件

2、$MAHOUT_JOB:  就是mahout-examples-*-job.jar 所在位置

3、$CLASS   :      是默认的 org.apache.mahout.driver.MahoutDriver

4、$@           :      就是要调用的class名字,比如org.apache.mahout.clustering.syntheticcontrol.kmeans.Job

 

三、对org.apache.mahout.driver.MahoutDriver

  1. 加载mapping文件:

              加载driver.classes.props 文件,此文件要路径应保存在classpath路径上。

       此属性文件的内容,主要是一个全名称的class名与简写class名的映射关键,并且还有class注释说明。模板fully.qualified.class.name =shortJobName : descriptive string

比如:    org.apache.mahout.utils.vectors.VectorDumper= vectordump : Dump vectors from a sequence file to text

上面这个映射关系是从driver.classes.default.props文件找到的。

MahoutDriver会先加载driver.classes.props,如果没有driver.classes.props这个文件。那就会加载driver.classes.default.props。

 

  1. 加载类默认指定props文件:

文件名是<shortJobName>.props,具体类的属性或参数文件。格式如下

 i|input =/path/to/my/input

  o|output = /path/to/my/output

  m|jarFile = /path/to/jarFile

  # etc -each line is shortArg|longArg = value

 

  1. 剩余参数解析

剩余参数可以是在mapping文件中定义过的shortJobName,已经shortJobName类需要用到的参数,从命令行传入的参数会覆盖shortJobName.props中定义的参数。

如果在要运行vecDump这个类

  1. 在mapping文件中定义也就是driver.classes.props 或者driver.classes.default.props文件中定义:

org.apache.mahout.utils.vectors.VectorDumper= vecDump : dump vectors from a sequence file

全名称类名    = 缩写类名称: 功能描述

       

  1. 定义vecdump.props文件

o|output = /tmp/vectorOut

s|seqFile = /my/vector/sequenceFile

 

  1. 运行指令

$MAHOUT_HOME/bin/mahoutrun vecDump -s /my/otherVector/sequenceFile

在命令行中的参数–s 会覆盖在vecdump.props中的定义的s参数

 

最终的执行指令参数为

{"--output","/tmp/vectorOut", "-s","/my/otherVector/sequenceFile"}

 

  1. 如果还有其他参数需要传入的话,就用-Dkey=value的形式

 

 

 

 

PS:将工程导入eclipse中。

  1. 在导入前需要执行mvn eclipse:eclipse
  2. 将导入的功能右键选中pom.xml 执行mvn build 就可以编译你修改过的内容了。
  3. 测试修改的内容,可以参考example中的shell脚本调用。需要注意的是需要设置MAHOUT_CORE或-core 参数

 

 

 

别再傻傻分不清PBR和NPR了!从《原神》到《双城之战》,聊聊游戏里那些让你眼前一亮的渲染风格 本文深入解析了PBR(基于物理的渲染)与NPR(非真实感渲染)在游戏视觉风格中的应用差异,通过《原神》和《双城之战》的案例,展示了两种渲染技术如何创造出截然不同的艺术效果。从技术原理到实战案例,帮助读者理解如何根据项目需求选择合适的渲染风格。 阅读详情

相关推荐

ROS专栏—基于STM32F103的INA219电源数据采集

文章主要记录了stm32f103对ina219的数据采集

热爱生活、奋斗前行 2353

Mahout详细使用文档和案例

Mahout是一个基于Hadoop的机器学习库,它提供了许多常见机器学习算法的实现,包括聚类、分类、推荐等。以下是Mahout的详细使用文档,包括案例。

qq_37480069的博客 2600

写给小白的“具身智能”入门科普

智能”,大家都懂,也就是AI。那么,什么是“具身”?“具身”是一个很小众的名词,通常都出现在哲学、认知科学领域。它的英文叫Embodied,是embody的过去式和过去分词。em-表示“进入,使……”,-body表示“身体”。组合起来,就是“使……进入身体”。Embodied Intelligence(具身智能),顾名思义,就是“使智能进入身体”、“给智能一个身体”的意思。那么,具身智能,是不是就是“AI+身体”呢?这样说并不准确。

欢迎来到我的博客 1819

mahout脚本调用流程分析

欢迎喜欢深入了解推荐系统和mahout的兄弟加入群     推荐系统之Mahout  135918911   剖析mahout脚本   mahout 位于$MAHOUT_HOME/bin目录下,是所有mahout调用的入口。 主要会做各类环境变量的设置。 MAHOUT_JAVA_HOME:指定java的执行路劲,会覆盖$JAVA_HOME MAHOUT_HEAPSIZE   :JA...

brtghtrd的专栏 189

LFM调制信号分类与检测识别

支持识别LFM信号、间歇采样干扰(ISRJ)、灵巧噪声干扰(SNJ)、扫频干扰(SJ)、瞄准干扰(AJ)、阻塞干扰(BJ)、密集假目标干扰(DFJ)、密集假目标加灵巧噪声干扰(DFWSNJ)、距离欺骗干扰(DDJ)、距离欺骗加灵巧噪声干扰(DDWSNJ)。Faster-RCNN支持检测识别LFM信号、间歇采样干扰(ISRJ)、灵巧噪声干扰(SNJ)、扫频干扰(SJ)、瞄准干扰(AJ)、密集假目标干扰(DFJ)、密集假目标加灵巧噪声干扰(DFWSNJ)、距离欺骗加灵巧噪声干扰(DDWSNJ)等8种信号。

菜yuan~的博客 1029

米哈游 AI产品经理面试题精选:10道高频考题+答案解析(附PDF)

米哈游是全球知名游戏开发商,以《原神》《崩坏》系列著称,专注二次元文化与AI技术创新。本文整理了10道AI产品经理面试题,涵盖Transformer架构、智能NPC设计、机器学习应用、AIGC产品规划等核心领域。题目既考察技术理解(如RAG原理、多模态模型),又关注产品落地(游戏平衡性优化、伦理安全),同时强调跨团队协作能力。参考答案均结合米哈游业务场景,体现技术驱动与玩家体验并重的产品思维,展现AI在游戏行业的创新应用前景。

ZHHHHH15的博客 679

java 调用 mahout_mahout的安装、配置及运行java程序

一、下载安装包:http://mahout.apache.org/general/downloads.html二、解压:将下载的安装包解压到需要的目录下三、配置环境变量:export MAHOUT_HOME=/Users/iris/Downloads/apache-mahout-distribution-0.10.1export MAHOUT_CONF_DIR=$MAHOUT_HOME/confe...

weixin_35849957的博客 612

【STK】手把手教你利用STK进行光电红外仿真03-STK/EOIR模块属性之二 导弹等目标的EOIR设置

上一节介绍了如何设置传感器的通用属性和空间、光学、光谱、辐射四种专项属性。这一节介绍如果对导弹等目标的EOIR属性进行修改。

weixin_44184852的博客 2203

JAVA四种引用方式

java内存管理分为内存分配和内存回收,都不需要程序员负责,垃圾回收的机制主要是看对象是否有引用指向该对象。 java对象的引用包括   强引用,软引用,弱引用,虚引用 Java中提供这四种引用类型主要有两个目的: 第一是可以让程序员通过代码的方式决定某些对象的生命周期; 第二是有利于JVM进行垃圾回收。 下面来阐述一下这四种类型引用的概念: 1.强引用  是指创建一个对象

我是一个包子 1万+

【一看就会】autoware universe项目结构解析——从一层一层直到control源码

下载安装autoware universe花了一天。下载好之后,按照网上说的跑了一下仿真是能跑的,证明下的代码没问题。然后就得看一下各模块实现的源码了。但是当我打开这些文件的时候。我勒个豆。这么多是个玩意儿。我连该启动哪个launch文件,哪个文件夹是干啥的都不知道。在我慢慢弄懂之后,我也记录这个庞大的项目的各个文件夹和里面的文件以及项目,以及自己使用时应该启动哪些launch文件。这篇文章目的就是通过找到control部分的源码,来帮助我们梳理这个庞大项目的各个文件的功能。

weixin_48386130的博客 2037

西南科技大学数字电子技术实验七(4行串行累加器设计及FPGA实现)FPGA部分

/在k=1时输入1,并在k=0时运算。//在k=1时输入0,并在k=0时运算。//在k=1时输入1,并在k=0时运算。//在k=1时输入0,并在k=0时运算。//在k=1时输入1,并在k=0时运算。//在k=1时输入1,并在k=0时运算。//在k=1时输入0,并在k=0时运算。//在k=1时输入0,并在k=0时运算。三、程序清单(每条语句必须包括注释或在开发窗口注释后截图)四、综合、管脚分配、生成输出文件、下载(所有步骤截图)五、仿真程序清单、波形(波形截图必做,截图!.k(k),//开关。

Welcome To My6n Blog 4331

java mahout使用教程_Mahout使用简例

剖析mahout脚本mahout 位于$MAHOUT_HOME/bin目录下,是所有mahout调用的入口。主要会做各类环境变量的设置。MAHOUT_JAVA_HOME:指定java的执行路劲,会覆盖$JAVA_HOMEMAHOUT_HEAPSIZE :JAVA运行堆栈的内存大小HADOOP_CONF_DIR : hadoop 配置文件路径主要是*-site.xml这些文件的位置MAHOUT...

weixin_35507450的博客 1588

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Mahout介绍和简单应用

Mahout学习(主要学习内容是Mahout中推荐部分的ItemCF、UserCF、Hadoop集群部署运行) 1.Mahout是什么? Mahout是一个算法库,集成了很多算法。 Apache Mahout 是 Apache Software Foundation(ASF)旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。 Mah...

Null的博客 5086

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

mahout的安装、配置及运行java程序

一、下载安装包: http://mahout.apache.org/general/downloads.html 二、解压: 将下载的安装包解压到需要的目录下 三、配置环境变量: export MAHOUT_HOME=/Users/iris/Downloads/apache-mahout-distribution-0.10.1 export MAHOUT_CONF_DIR=...

weixin_30325487的博客 563

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

java--对象引用与对象的区别

在java学习中,理解对象以及对象的引用是万里长征的第一步。但是,现在大量的java学习书籍都将对象以及对象的引用混为一谈,然而实际上它们有着本质的区别。为了帮助更多的java学者更好的理解,我将自己的学习理解记录下来。如有理解不全或者错误的地方,欢迎大家批评指正。

王小的博客 1万+

JAVA中对象的赋值与引用

前言最近在学习红黑树,当我尝试不使用递归来实现时,发现自己的大脑陷入了混乱。究其原因,是对JAVA中的基本类型和引用类型有所误解。特地重新搜索+实践一番,涨个姿势。先放出我参考的文章: @Intopass的知乎回答 java到底是值传递还是引用传递 @focusChen的博客 JAVA 对象引用,以及对象赋值 一番折腾先找个对象过年class Node { int value;

薛定谔的猫窝 1万+

java.lang包【Object类】

基本描述:   (1)Object类位于java.lang包中,java.lang包包含着Java最基础和核心的类,在编译时会自动导入;   (2)Object类是所有Java类的祖先。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。可以使用类型为Object的变量指向任意类型的对象 Object的主要方法介绍: package java.lang; ...

weixin_34258078的博客 1406

Java Object(接收引用类型)

public class Demo { public static void main(String[] args) { Object obj = new int[] { 1, 2, 3 }; System.out.println("输出地址:"+obj);// 输出的是地址 if (obj instanceof int[]) { int[] data = (int[]) ob...

Java软贱攻城狮 1001

Mahout是什么?(一)

        不多说,直接上干货! http://mahout.apache.org/              Mahout是Apache Software Foundation(ASF)旗下的一个开源项目。    提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。    Mahout包含许多实现,包括聚类、分类、推荐过滤、...

weixin_33701617的博客 355

Java中对象和引用的理解

偶然想起Java中对象和引用的基本概念,为了加深下对此的理解和认识,特地整理一下相关的知识点,通过具体实例从两者的概念和区别两方面去更形象的认识理解,再去记忆。 一、对象和引用的概念: 在Java中万物皆对象,比如我们定义一个简单的动物类:class Animal { String count; String weight; .... }有了这个Animal类之后,我们可以

大泡泡的专栏 7796

Mahout系列之推荐引擎核心源码

Mahout里面的推荐包括了常见的方法和多种扩充的方法,对推荐的模型做了很好的封装。下面我们就来一起读读源码,读读更健康! 下载Mahout,本文用到的是apache-mahout-distribution-0.11.0。项目主要包括的子项目有: 项目 说明 mahout-examples     很多关于Mahout的实例

数据时代--收集,存储,处理,分析,挖掘,检索,展现 2583

Java中Object的用法

Object:所有类的公共 的父类 类 Object 是类层次结构的根类。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。 从以下版本开始: JDK1.0 Object的常用方法 toString(); 将对象的引用变为字符串的 打印对象的变量,默认会调用Object的toString()方法 子类重写toString方法,把Object的方法变为自己的方法,其中的...

张子又 7951

Java引用对象

简介 在写了15年C/C++之后,我于1999年开始写Java。借助指针切换(pointer handoffs)等编码实践或者Purify等工具,我认为自己对C风格的内存管理已经得心应手了,甚至已经不记得上次发生内存泄露是什么时候了。所以起初我接触到Java的自动内存管理时有些不屑,但很快就爱上它了。在我不需要再管理内存后我才意识到之前耗费了多少精力。 接着我就遇到了第一个OutOfMemor...

Java笔记 1万+

Java中对象和引用对象

Case cc;  //在栈内存里面开辟了空间给引用变量cc,这时cc=null''' cc=new Case(); 1. new Case()在堆内存里面开辟了空间给Case类的对象,这个对象没有名字 2. Case()随即调用了Case类的构造函数 3. 把对象的地址在堆内存的地址给引用变量cc   Java对象和引用的关系可以说是互相关联,却又彼此独立。彼此独立主要表现在:引用是...

猪猪神功屁 993

【Mahout二】基于Mahout CBayes算法的20newsgroup的脚本分析

#!/bin/bash # # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information ...

bit1129的博客 270

利用Mahout编写推荐程序

Mahout推荐程序的编写以及相关知识总结 1. 什么是推荐程序 从日常的情景来看,就是对用户日常的行为进行分析,从而预测/判断他们可能的下一步动作或者喜欢的物品,这一操作大体上分为两类,一种是找到与之相似的用户,根据相似用户的行为进行推荐;另一种则是观察其他用户的行为和偏好,找到物品之间的相似性,从而进行推荐。实际上Mahout的推荐程序中应用最广的也就是这两类:基于用户(user-base

里皮同学的博客 538
上一篇: Java编程的动态性,第5部分: 动态转换类
下一篇: Naive Bayes分类示例
windowsLearner
博客等级 码龄17年 6粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值