gpt4 book ai didi

Apache Mahout - 如何将数据集对象保存到 HDFS?

转载 作者:行者123 更新时间:2023-12-02 21:46:43 25 4
gpt4 key购买 nike

去年夏天,我们有一个实习生用 Java 编写了一个 Apache Mahout 作业,对一些数据执行随机森林分类分析。该作业是使用 Apache Mahout 0.7 创建的。

现在我们已经升级了环境以运行 Apache Mahout 0.9,并且项目不再编译。这是不编译的单行:

DFUtils.storeWritable(conf, datasetPath, dataset)

这一行简直太累了,无法存储 Mahout Dataset对象到 HDFS 上。在 Mahout 0.7 中, Dataset类实现了 Hadoop.io.Writable接口(interface),但在 0.9 版中, Dataset类只是扩展了 Object类(class)。由于这一变化, storeWritable()给出 Dataset 时,方法给我一个错误对象作为参数。

在我的项目中, Dataset object 表示一个文件,该文件描述了我们的随机森林模型试图分析的数据。如果通过命令行完成,就是这一步:
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

总之,上面失败的那一行只是试图将描述 rune 件存储到 HDFS 上。有谁知道在 Mahout 0.9 中执行此操作的正确方法?

任何建议将不胜感激!

最佳答案

您当然可以将其保存为 JSON。

Text datasetText = new Text(dataset.toJson());
DFUtils.storeWritable(conf, datasetPath, datasetText)

您可以使用 fromJson 进行反序列化方法。

关于Apache Mahout - 如何将数据集对象保存到 HDFS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24744831/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com