Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在本地模式下运行mahout kmeans算法_Java_Hadoop_Hdfs_Mahout - Fatal编程技术网

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

Java 如何在本地模式下运行mahout kmeans算法,java,hadoop,hdfs,mahout,Java,Hadoop,Hdfs,Mahout,是否可以在本地运行mahout k mean java程序,以便从本地读取数据并将其保存回本地文件系统而不是hdfs。 互联网上的所有examles都在使用hdfs 是的,这是可能的-签出序列FileWriter。请参见以下代码示例,该示例将集群数据点写入文件。这里有一篇文章详细描述了这一点: public static void writePointsToFile(List<Vector> points, S

是否可以在本地运行mahout k mean java程序,以便从本地读取数据并将其保存回本地文件系统而不是hdfs。 互联网上的所有examles都在使用hdfs


是的,这是可能的-签出序列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();
}
publicstaticvoidwritepointstofile(列表点,
字符串文件名,
文件系统fs,
配置配置(conf)引发IOException{
路径路径=新路径(文件名);
SequenceFile.Writer Writer=新的SequenceFile.Writer(fs,conf,
路径,LongWritable.class,VectorWritable.class);
long recNum=0;
VectorWritable vec=新的VectorWritable();
对于(矢量点:点){
向量设定值(点);
append(新的LongWritable(recNum++),vec);
}
writer.close();
}

您正在使用路径类。。这不是要写在hdfs上吗?Path基于org.apache.hadoop.fs.Path。而且,无论是否写入本地文件系统,都是基于org.apache.hadoop.fs.filesystem的文件系统。如果使用本地配置进行初始化,文件将写入本地文件系统。具体的类RawLocalFileSystem将启用本地文件系统,或者使用默认配置,如:filesystem fs=new filesystem.get(new configuration())将使其使用本地文件系统。