Java Mahout:缺少用于创建序列文件的类
我将按照处的说明将现有文件转换为序列文件:Java Mahout:缺少用于创建序列文件的类,java,hadoop,mahout,mahout-recommender,sequencefile,Java,Hadoop,Mahout,Mahout Recommender,Sequencefile,我将按照处的说明将现有文件转换为序列文件: VectorWriter vectorWriter = SequenceFile.createWriter(filesystem, configuration, outfile,
VectorWriter vectorWriter = SequenceFile.createWriter(filesystem,
configuration,
outfile,
LongWritable.class,
SparseVector.class);
long numDocs = vectorWriter.write(new VectorIterable(), Long.MAX_VALUE);
我已经将mahout jar包含在我的maven项目中:
<dependency>
<groupId>org.apache.mahout</groupId>
<artifactId>mahout-core</artifactId>
<version>0.9</version>
</dependency>
这对我来说意味着我丢失了一个jar——有人知道是哪一个吗?问题是我在Lenskit中使用它,而
配置类试图使用线程.currentThread().getContextClassLoader()
,而该类(无论出于何种原因)没有mahout或hadoop包。完整的代码是:
final Configuration configuration = new Configuration();
configuration.setClassLoader(Configuration.class.getClassLoader());
final Path path = new Path(POINTS_PATH + "/pointsFile");
LocalFileSystem fs = new LocalFileSystem();
fs.initialize(URI.create(POINTS_PATH + "/pointsFile"), configuration);
final SequenceFile.Writer writer =
SequenceFile.createWriter(
fs,
configuration,
path,
Text.class,
VectorWritable.class);
Serilization class not found: java.lang.ClassNotFoundException: org.apache.hadoop.io.serializer.WritableSerialization
final Configuration configuration = new Configuration();
configuration.setClassLoader(Configuration.class.getClassLoader());
final Path path = new Path(POINTS_PATH + "/pointsFile");
LocalFileSystem fs = new LocalFileSystem();
fs.initialize(URI.create(POINTS_PATH + "/pointsFile"), configuration);
final SequenceFile.Writer writer =
SequenceFile.createWriter(
fs,
configuration,
path,
Text.class,
VectorWritable.class);