mahout算法中new Configuration问题

版本:hadoop2.4+mahout0.9

在web程序中调用云平台mahout的算法时,有时会遇到找不到路径的问题,比如org.apache.mahout.clustering.classify.ClusterClassifier这个类中的

public void readFromSeqFiles(Configuration conf, Path path) throws IOException {
    Configuration config = new Configuration();
    List<Cluster> clusters = Lists.newArrayList();
    for (ClusterWritable cw : new SequenceFileDirValueIterable<ClusterWritable>(path, PathType.LIST,
        PathFilters.logsCRCFilter(), config)) {
      Cluster cluster = cw.getValue();
      cluster.configure(conf);
      clusters.add(cluster);
    }
    this.models = clusters;
    modelClass = models.get(0).getClass().getName();
    this.policy = readPolicy(path);
  }

更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/sjjg/

这个方法,这个方法在CIMapper中的setup函数中会用到。假如使用web调用k均值算法,那么运行到这里就会报错,因为它找不到路径,读取中心点的时候找不到路径,这是因为在方法readFromSeqFiles中读取的Configuration是new出来的。而传入的路径是/path/to/center ,而非hdfs://host:port/path/to/center这样的。

在web提交Job任务的时候如果遇到这种问题就会报错(或者在windows的eclipse中使用main直接提交),但是如果是在终端中提交(namenode所在节点,其他节点未测试),那么是可以读到那个路径的。

解决方法:

1. 固定集群:在Configuration config= new Configuration(); 后面加上conf.set()设置集群。

这样也是需要修改源代码的,而且如果集群改变,还是需要重新编译此类,并上传到集群各个节点。

2. 把Configuration传入这个方法内,就像上面的readFromSeqFiles方法一样,但是那个方法里面传入了一个Configuration,但是它还是new了一个,不理解mahout的源码为何是这样的。

这种做法需要修改调用这个方法的类的调用方式,但是如果集群有变,是不需要重新编译打包这些类,上传到集群每个节点的,只需要在提交Job的时候设置集群即可。

作者:csdn博客 fansy1990

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索mahout
, 集群
, 方法
, 路径
, 节点
, configuration
k均值算法
mahout推荐算法、mahout推荐算法实例、mahout算法、mahout分类算法、mahout聚类算法,以便于您获取更多的相关知识。

时间: 2024-08-04 13:42:21

mahout算法中new Configuration问题的相关文章

《Mahout算法解析与案例实战》一一2.1 Mahout安装前的准备

2.1 Mahout安装前的准备 就像前面提到的,我们是在Hadoop云平台编写算法时遇到困难才想到使用Mahout的,所以首先要有一个Hadoop云平台才行.这里要注意的是,虽然Mahout最初应用的平台是Hadoop集群平台,但是现在经过扩展,Mahout已经不仅仅适用于Hadoop集群云平台了,还可以单机运行算法,即与使用Java编写的算法是一样的,而且这个算法还是被优化过的.配置基于Hadoop云平台的Mahout 环境所使用的软件包括Linux操作系统.JDK.Hadoop.Mahou

《Mahout算法解析与案例实战》一一

3.1 Canopy算法 3.1.1 Canopy算法简介在生活中,我们可以使用聚类解决很多问题,就像本章开始提到的几个例子一样.传统的聚类算法对于一般的应用问题(基本都是小数据量)都是可以解决的,但是当数据变得很大的时候,就有点"力不从心"了.这里的数据变得很大指的是:①数据的条目很多,整个数据集包含的样本数据向量很多:②针对①中的每个样本数据向量其维度很大,即包含多个属性:③要聚类的中心向量很多.当我们所要应用聚类算法的数据是上面所述情况时,传统的聚类方法应用起来就会相当棘手,这时

《Mahout算法解析与案例实战》一一1.2 Mahout算法库

1.2 Mahout算法库 Mahout自从2008年兴起以来,发展迅速,从最开始的只有推荐系统到现在的多个算法模块,涵盖了很多行业.这些模块有聚类算法.分类算法.协同过滤算法和频繁项集挖掘算法,每个模块都含有一个或者几个不同的实现算法,下面分别进行介绍.1.2.1 聚类算法 中国有句古谚语"物以类聚,人以群分".一个聚类即是一类物体的集合,集合中的个体是相似的,不同聚类中的个体是不相似的.聚类的二维图如图1-1所示. 图1-1 聚类二维图 针对上面的数据,我们可以很容易地把它们分为右

《Mahout算法解析与案例实战》一一导读

Preface?前 言 为什么要写这本书 2010年以后,世界快速进入了大数据时代,Hadoop成为大数据分析的首选平台和开发标准,无数数据分析软件纷纷向Hadoop靠拢.在Hadoop原有技术基础之上,涌现了Hadoop家族产品,它们正在配合"大数据"概念不断创新,推动科技进步.因此,新一代IT精英也必须顺应潮流,抓住机遇,随着Hadoop一起发展和成长! 简而言之,Hadoop是由Apache基金会开发的一个优秀的云计算技术框架,用户在其基础上即使不了解分布式底层细节,也可以开发分

《Mahout算法解析与案例实战》一一2.3 测试安装

2.3 测试安装 首先下载测试数据,在浏览器中输入:http://archive.ics.uci.edu/ml/databases/synthetic_control/synthetic_control.data.html,下载相应的数据.测试数据是由Dr Robert Alcock在1999年利用程序合成的600个样本的控制图数据,每个样本包括60个属性列,一共可以分为6个类,分别为:正常(C).循环(B).上升趋势(E).下降趋势(A).向上移位(D).向下移位(F).图2-5中显示的是每个

《Mahout算法解析与案例实战》一一1.4 本章小结

1.4 本章小结 本章首先介绍了Mahout应用背景,由云计算引入Hadoop,随后介绍了Hadoop云平台.Hadoop云平台的优势及其应用编程模型,由Hadoop云平台的编程引入Mahout.接着解释了Mahout的基本概念以及它的应用背景.在Mahout应用背景的基础上,介绍了Mahout算法库已经具备的算法模块,然后针对每个算法模块分别进行了每个算法的介绍.接着简单分析了Mahout的各种现有应用,其中商业上的应用比较突出,然而,在学术上,Mahout的应用也同样很广泛,一些大学课程中也

封装的变化之排序算法中的封装

封装|排序|算法 设想这样一个需求,我们需要为自己的框架提供一个负责排序的组件.目前需要实现的是冒泡排序算法和快速排序算法,根据"面向接口编程"的思想,我们可以为这些排序算法提供一个统一的接口ISort,在这个接口中有一个方法Sort(),它能接受一个object数组参数.对数组进行排序后,返回该数组.接口的定义如下: public interface ISort{ void Sort(ref object[] beSorted);} 其类图如下: 然而一般对于排序而言,排列是有顺序之

如何从绿萝算法中得出网站运营的快人一步

快人一步一直是做项目的核心思想,而我们在互联网做网站其实也是一样的道理,如果能够在搜素引擎没有公开算法之前快人一步,那么我们的网站是不是能够在短时间内就获得搜索引擎的排名提升呢?百度绿萝算法2月19日公布之后,现在有很多网站因为原创.因为链接交换的合理从而提升了排名.那么百度在下一步的动态又会是什么呢?对此笔者有下面几点认识,希望可以帮助到那些还在苦苦搜寻百度新算法的朋友们. 猜测一.百度继续加大链接买卖等行为的打击力度 虽然百度已经公开了绿萝算法,但是说句实在话百度绿萝算法中提到的几点有一定的

百度算法中对网站用户体验到底是怎样判断的?

在我们SEO眼中,每个高手SEO都会说,最顶级的SEO就是做好用户体验,有了好的用户体验,就会拥有好的排名,和好的流量.网奇承认,用户体验是SEO中非常重要的一部分,但是一般普通的企业站是很难做好用户体验的,大家都是卖产品的网站,要想做好用户体验实在是难上加难. 在百度最近的10月24号推出的"页面优化建议工具升级上线"这个工具的推出,网奇SEO通过这个工具可以了解到,百度中判断用户体验的一个方面.   这个页面优化建议工具到底是个什么样子的东西呢?通过百度官方的说法是:网站页面书写以