如何在本地模式下运行mahout-kmeans算法

4dc9hkyq  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(408)

是否可以在本地运行mahout k mean java程序,以便它从本地读取数据并将其保存回本地文件系统而不是hdfs。互联网上所有的examles都在使用hdfs。
https://github.com/tdunning/mia/blob/master/src/main/java/mia/clustering/ch07/simplekmeansclustering.java

v2g6jxz6

v2g6jxz61#

是的,这是可能的- checkout 序列FileWriter。请参见下面的代码示例,该示例将集群数据点写入文件。以下是一篇博客文章,详细描述了这一点:

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();
}

相关问题