我编写了一个map reduce代码,用于从map中发出csv值,reducer创建weka实例并构建分类器。如何保存分类器以便我的下一个地图减少作业将获取此模型并在测试数据上运行它以预测值?
地图:
public void map(Object key, Text value, Context context)
throws IOException, InterruptedException {
Get csv values
context.write(csv values);
}
减速机:
public void reduce(Text key, Iterable<Text> values, Context context)
throws IOException, InterruptedException {
Create instances with all the csv values
Classifier classifier = new NaiveBayes();
try {
classifier.buildClassifier(trainingSet);
context.write(classifier,
NullWritable.get());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
如何在下一个map reduce任务中读取此文件,以便它不会逐行读取,我可以通过读取文件来构建分类器对象?
或者还有其他方法可以达到这个目的吗?