Ошибка при написании кода Java для Mahout

Я новичок в Apache Mahout. Я пытался использовать ваш код в своей среде, но у меня проблемы. Я знаю, что сообщение устарело, и вы не можете отвечать на мой запрос. Но я пишу, когда застрял.

Я попытался настроить Maven в своей среде, но из-за политики компании я не могу ее успешно сконфигурировать, поэтому решил вручную решить зависимости, и я установил все необходимые зависимости один за другим. Но я не могу найти одну последнюю библиотеку, я пробовал смотреть в Интернете на 2 дня, но не повезло. Может быть, кто-то может помочь мне здесь.

Я использую Eclipse STS. Я попытался с Eclipse Mars2, но с той же проблемой. Я установил следующий набор специфичных для проекта библиотек.

Commons-cli-2.0.jar, Google-collection-1.0.jar, hasoop-0.20.1-core.jar, log4j-1.2.13.jar, mahout-core0.2-source.jar, mahout-core0.3- source.jar, mahout-core0.4-job.jar, mahout-core0.7.jar, mahout-core0.8.jar, mahout-math-0.8.jar, mahout-utils-0.5.jar, slf4j-API- 1.6.1.jar, slf4j-log4j12-16.1.jar, JRE System Library (JavaSE-1.8.

Я пробовал различные комбинации перестановок для библиотек, надеясь получить мою работу. К несчастью, его не происходит, может быть, вы можете мне помочь.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.FileReader;
import java.util.List;
import org.apache.hadoop.fs.Path;
import org.apache.mahout.classifier.ClassifierResult;
import org.apache.mahout.classifier.bayes.TrainClassifier;
import org.apache.mahout.classifier.bayes.algorithm.BayesAlgorithm;
import org.apache.mahout.classifier.bayes.common.BayesParameters;
import org.apache.mahout.classifier.bayes.datastore.InMemoryBayesDatastore;
import org.apache.mahout.classifier.bayes.exceptions.InvalidDatastoreException;
import org.apache.mahout.classifier.bayes.interfaces.Algorithm;
import org.apache.mahout.classifier.bayes.interfaces.Datastore;
import org.apache.mahout.classifier.bayes.model.ClassifierContext;
import org.apache.mahout.common.nlp.NGrams;

public class Starter {

    //char var1;
 public static void main( final String[] args ) {
  final BayesParameters params = new BayesParameters();
  params.setGramSize( 1 );
  params.set( "verbose", "true" );
  params.set( "classifierType", "bayes" );
  params.set( "defaultCat", "OTHER" );
  params.set( "encoding", "UTF-8" );
  params.set( "alpha_i", "1.0" );
  params.set( "dataSource", "hdfs" );
  params.set( "basePath", "/tmp/output" );

  //var1 = text.csv;

  try {
      Path input = new Path( "D:\\Apache\\text.csv" );
      Path output = new Path( "D:\\Apache\\output" );
      TrainClassifier.trainNaiveBayes( input, output, params );

      Algorithm algorithm = new BayesAlgorithm();
      Datastore datastore = new InMemoryBayesDatastore( params );
      ClassifierContext classifier = new ClassifierContext( algorithm, datastore );
      classifier.initialize();

      final BufferedReader reader = new BufferedReader( new FileReader( args[ 0 ] ) );
      String entry = reader.readLine();

      while( entry != null ) {
          List< String > document = new NGrams( entry,
                          Integer.parseInt( params.get( "gramSize" ) ) )
                          .generateNGramsWithoutLabel();

          ClassifierResult result = classifier.classifyDocument(
                           document.toArray( new String[ document.size() ] ),
                           params.get( "defaultCat" ) );

          entry = reader.readLine();
      }
  } catch( final IOException ex ) {
   ex.printStackTrace();
  } catch( final InvalidDatastoreException ex ) {
   ex.printStackTrace();
  }
 }
}

Ниже приведены сообщения об ошибках: -

Исключение в потоке "main" java.lang.NoSuchMethodError: org.apache.mahout.common.HadoopUtil.overwriteOutput(Lorg/apache/hadoop/fs/Path;) V

на org.apache.mahout.classifier.bayes.mapreduce.bayes.BayesDriver.runJob(BayesDriver.java:39)

at org.apache.mahout.classifier.bayes.TrainClassifier.trainNaiveBayes(TrainClassifier.java:54)

в Starter.main(Starter.java:42)

Я пробовал искать "org.apache.mahout.common.HadoopUtil.overwriteOutput" по всему Интернету, но я их не получаю, есть библиотеки с именем "org.apache.mahout.common.HadoopUtil", но это doesnpt содержат необходимую суббиблиотеку.

Пожалуйста помоги.

0
20 июл. '16 в 13:07
источник поделиться

Посмотрите другие вопросы по меткам или Задайте вопрос