个人Hadoop实验决策树算法学习笔记

参考的文章:
http://blog.csdn.net/fansy1990/article/category/1313502


错误1:
File does not exist: /user/jxxy/input/dttest/kddTrain.txt

上传的目的地要写对,我后面改成了
先在HDFS上建立文件夹
hadoop fs -mkdir -p /user/jxxy/dttest/input
haddop fs -mkdir -p /user/jxxy/out/forest/info

然后:
hadoop fs -put kddTrain.txt /user/jxxy/dttest/input    (这个要事先建立好)
hadoop fs -put kddTest.txt /user/jxxy/dttest/input

然后:(很关键, 不要写错地方,少一个字母都会报错)
hadoop jar mahout-examples-0.11.1-job.jar org.apache.mahout.classifier.df.tools.Describe -p dttest/input/kddTrain.txt -f out/forest/info/kdd1.info -d N 3 C 2 N C 4 N C 8 N 2 C 19 N L  


错误2:
Exception in thread "main" java.lang.IllegalArugementException:Wrong number of attributes in the string: 42. Must be: 43

我之前按照的是 :kdd1.info -d N 3 C 2 N C 4 N C 8 N 2 C 19 N L  
注意这个红色的N 在文章里作者是因为数据中多了1列 ,才加了1个N ,我删掉这个N之后就出了结果
结果:
15/11/24 13:49:37 INFO tools.Describe: Generating the descriptor...
15/11/24 13:49:40 INFO tools.Describe: generating the dataset...
15/11/24 13:49:42 INFO tools.Describe: storing the dataset description



错误3:
我的mahout 0.11.1里面没有BuildForest这个class  查了查看了别人的实在mahout 0.7下面做的实验,因此我也改成了mahout 0.7 错误小时

错误4:
在进行mapreduce 的时候 发现内存不足 
Error:Requested array size exceeds VM limit   我发现无论吧MAX.SPILT改成多少都是fail

将-t 改成10也不行  估计算法和计算机内存都有问题,明天继续查看如何解决

11/24

11/27:
在休息了2天后 今天用学校这2台配置较差的跑出来了一点点结果
首先说下个人分析的原因吧:
1.数据集过大(对于我用的电脑来说)
2.集群只有2台电脑配置不够。
3.算法中的MAX.SPLIT.SIZE和生成树太大

总的来说就是------>电脑不行。。。。
不过比之前的一点结构都没有还是出了点东西的

在mahout目录下输入:
hadoop jar mahout-examples-0.7-job.jar org.apache.mahout.classifier.df.mapreduce.BuildForest -Dmapred.max.split.size=256 -d dttest/input/kddTest.txt -ds out/forest/info/kdd1.info -sl 2 -p -t 2 --output out/forest1

然后出了点结果。。。。成功了5个,剩下的都因为VM限制而失败。。。

总结下,也许把老师办公室剩下的几台电脑拿来当集群就可以出结果了。。。。然后算法也需要好好研究。。。。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值