Mahout学习之运行canopy算法错误及解决办法

一:将Text转换成Vector序列文件时

 在Hadoop中运行编译打包好的jar程序,可能会报下面的错误:

Exception in thread "main" java.lang.NoClassDefFoundError:  
org/apache/mahout/common/AbstractJob

书中和网上给的解决办法都是:把Mahout根目录下的相应的jar包复制到Hadoop根目录下的lib文件夹下,同时重启Hadoop

但是到了小编这里不管怎么尝试,都不能解决,最终放弃了打包成jar运行的念头,就在对源码进行了修改,在eclipse运行了

二:java.lang.Exception: java.lang.ClassCastException: org.apache.hadoop.io.IntWritable cannot be cast to org.apache.hadoop.io.Text

此种错误,是由于map和reduce端函数格式输入输出不一致,导致数据类型不匹配

在次要注意一个特别容易出错的地方:Mapper和Reducer类中的函数必须是map和reduce,名字不能改,因为是继承Mapper类和Reducer类,如果函数名字改变了的话也可能造成以上的错误,或者Reducer端不输出

三:当在命令行里直接用命令转化文件格式时抛出如下错误:

ERROR common.AbstractJob: Unexpected --seqFileDir while processing Job-Specific Options

注:转化命令为:bin/mahout clusterdump --seqFileDir /home/thinkgamer/document/canopy/output/clusters-0-final/ --pointsDir /home/thinkgamer/document/canopy/output/clusteredPoints/ --output /home/thinkgamer/document/canopy/clusteranalyze.txt

上网搜了搜热心的网友给出的解决办法是:将--seqFileDir换成--input即可


搜索与推荐Wiki

扫一扫 关注微信公众号!号主 专注于搜索和推荐系统,尝试使用算法去更好的服务于用户,包括但不局限于机器学习,深度学习,强化学习,自然语言理解,知识图谱,还不定时分享技术,资料,思考等文章!


                             【技术服务】,详情点击查看:https://mp.weixin.qq.com/s/PtX9ukKRBmazAWARprGIAg


外包服务

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值