java - Mahout seqdirectory 不工作

标签 java mahout

我正在尝试“Mahout Cookbook”的第二章食谱。
这是对一些 lastfm 数据进行排序的第一步。
mahout seqdirectory -i $WORK_DIR/original -o $WORK_DIR/sequencesfiles
该命令应该将原始格式转换为 Mahout 的序列格式。

14/07/23 14:43:10 INFO mapred.LocalJobRunner: map task executor complete.
14/07/23 14:43:10 WARN mapred.LocalJobRunner: job_local1595213196_0001
java.lang.Exception: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
    at org.apache.hadoop.mapred.LocalJobRunner$Job.runTasks(LocalJobRunner.java:462)
    at org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:522)
Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
    at org.apache.hadoop.mapreduce.lib.input.CombineFileRecordReader.initNextRecordReader(CombineFileRecordReader.java:166)
    at org.apache.hadoop.mapreduce.lib.input.CombineFileRecordReader.<init>(CombineFileRecordReader.java:126)
    at org.apache.mahout.text.MultipleTextFileInputFormat.createRecordReader(MultipleTextFileInputFormat.java:43)
    at org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.<init>(MapTask.java:492)
    at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:735)
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:340)
    at org.apache.hadoop.mapred.LocalJobRunner$Job$MapTaskRunnable.run(LocalJobRunner.java:243)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
    at org.apache.hadoop.mapreduce.lib.input.CombineFileRecordReader.initNextRecordReader(CombineFileRecordReader.java:157)
    ... 11 more
Caused by: java.lang.IncompatibleClassChangeError: Found interface org.apache.hadoop.mapreduce.TaskAttemptContext, but class was expected
    at org.apache.mahout.text.WholeFileRecordReader.<init>(WholeFileRecordReader.java:59)

最佳答案

检查此错误:

Caused by: java.lang.IncompatibleClassChangeError: Found interface org.apache.hadoop.mapreduce.TaskAttemptContext, but class was expected
    at org.apache.mahout.text.WholeFileRecordReader.<init>(WholeFileRecordReader.java:59)

这意味着,您的 Hadoop 版本与 Mahout 的预期不同。

Hadoop: java.lang.IncompatibleClassChangeError: Found interface org.apache.hadoop.mapreduce.JobContext, but class was expected

检查一次您的安装。

关于java - Mahout seqdirectory 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24921672/

相关文章:

java - 当插件 (gwt-maven-plugin) 描述符加载失败时,如何解决 Maven 构建错误?

java - 使用 Java HttpUrlConnection 下载 PDF 文件,缓冲区设置为 1024 字节 -- 错误,但 8 是可以的

hadoop - Mahout - 异常 : Java Heap space

java - 将 mahout 随机森林分类输出转换为可读

machine-learning - 使用机器学习来删除重复数据

java - Java 中的 BigDecimal、String 和 LocalDate 如何处理这些问题?

java - Highchart.getSVG 转换为 png

java - ArrayList 上的多个排序条件

hadoop - Mahout是基于Hadoop构建的,这意味着什么?

hadoop - 如何解决二十个新闻组分类示例上的加载主类MahoutDriver错误