【发布时间】:2014-08-17 02:32:10
【问题描述】:
是否可以在本地运行 mahout k mean java 程序,以便从本地读取数据并将其保存回本地文件系统而不是 hdfs。 互联网上的所有考试都在使用 hdfs。
【问题讨论】:
是否可以在本地运行 mahout k mean java 程序,以便从本地读取数据并将其保存回本地文件系统而不是 hdfs。 互联网上的所有考试都在使用 hdfs。
【问题讨论】:
是的,有可能 - 签出 SequenceFileWriter。请参阅以下代码示例,该示例将聚集的数据点写入文件。这是一个blog 的帖子,非常详细地描述了这一点:
public static void writePointsToFile(List<Vector> points,
String fileName,
FileSystem fs,
Configuration conf) throws IOException {
Path path = new Path(fileName);
SequenceFile.Writer writer = new SequenceFile.Writer(fs, conf,
path, LongWritable.class, VectorWritable.class);
long recNum = 0;
VectorWritable vec = new VectorWritable();
for (Vector point : points) {
vec.set(point);
writer.append(new LongWritable(recNum++), vec);
}
writer.close();
}
【讨论】: