去年夏天,我们让一个实习生用java编写了一个apachemahout作业,对一些数据执行随机森林分类分析。这个作业是用apachemahout 0.7创建的。
现在,我们已经将环境升级为运行apachemahout 0.9,项目不再编译。这是不编译的单行:
DFUtils.storeWritable(conf, datasetPath, dataset)
这一行是简单的轮胎存储mahout Dataset
对象到hdfs。在mahout 0.7中 Dataset
类实现了 Hadoop.io.Writable
接口,但在版本0.9中 Dataset
类只是扩展 Object
班级。因为这个变化 storeWritable()
方法在给定 Dataset
对象作为参数。
在我的项目中 Dataset
对象表示一个文件,该文件描述我们的随机林模型试图分析的数据。如果通过命令行执行此步骤:
hadoop jar mahout-core-0.9-job.jar org.apache.mahout.classifier.df.tools.Describe -p datasets/adult.data -f datasets/adult.data.info -d N C N C N 5 C 3 N C L
这是本链接中解释的“为数据集生成文件描述符”步骤:
https://mahout.apache.org/users/classification/partial-implementation.html
总之,上面失败的一行只是尝试将描述符文件存储到hdfs上。有没有人知道在mahout 0.9中正确的方法?
如有任何建议,将不胜感激!
1条答案
按热度按时间dgjrabp21#
您当然可以将其保存为json。
您可以使用
fromJson
方法。