복붙노트

[HADOOP] hadoop 2.0을 위해 mahout을 어떻게 컴파일 / 사용할 수 있습니까?

HADOOP

hadoop 2.0을 위해 mahout을 어떻게 컴파일 / 사용할 수 있습니까?

최신 릴리스 mahout 0.9는 hadoop 1.x에서만 빌드됩니다. (mvn 새로 설치) hadoop 2.0.x에 대한 mahout을 어떻게 컴파일 할 수 있습니까?

내가 명령을 실행할 때 :

나는 항상 오류 메시지를 받았습니다

감사!

해결법

  1. ==============================

    1.2. Hadoop 2.x와 호환되는 패키지로 릴리스되지 않았으므로 2.x와 작동하도록 Mahout을 컴파일하려면 다음을 수행하십시오.

    2. Hadoop 2.x와 호환되는 패키지로 릴리스되지 않았으므로 2.x와 작동하도록 Mahout을 컴파일하려면 다음을 수행하십시오.

    mvn clean install -Dhadoop2 -Dhadoop2.version=2.2.0 -DskipTests=true
    

    빌드 후 올바른 종속성이 있는지 확인하려면 프로젝트 루트에서 다음을 실행하십시오.

    find . -name hadoop*.jar
    

    위 명령으로 생성 된 아티팩트는 0.9 릴리스의 아티팩트와 다르므로 버전 번호 이상을 업데이트해야합니다 (새로운 mahout-mrlegacy jar가있는 것 같습니다).

    즉, 누군가가 2.x로 실행되는 공식 아티팩트를 가리킬 수 있다면 (SNAPSHOT이더라도) 감사합니다.

  2. ==============================

    2.pom.xml에서 hadoop의 버전을 변경하려고 했습니까?

    pom.xml에서 hadoop의 버전을 변경하려고 했습니까?

    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-core</artifactId>                                                   
    <version> 0.23.9</version> 
    

    (hadoop의 버전을 확인하십시오. 알다시피 0.23은 2.0이되었습니다)

    시도해야 할 또 다른 것은 RecommenderJob을 다음과 같이 직접 실행하는 것입니다.

    bin/mahout recommenditembased \
       --input INPUT --output OUTPUT \
       --tempDir TEMP --similarityClassname SIMILARITY_LOGLIKELIHOOD
    

    이를 실행하려면 mahout 폴더의 루트에 있어야하며 다음 환경 변수를 설정해야합니다.

    export HADOOP_HOME=/path/to/hadoop/home
    export HADOOP_COMMONS_HOME=/path/to/commons/home
    export JAVA_HOME=/path/to/java/home
    export PATH="$PATH:$HADOOP_HOME/bin"
    
  3. ==============================

    3.약 1 시간 전에 Mahout은 공식적으로 마스터 지점의 Hadoop 2.x에 대한 지원을 추가했습니다 (MAHOUT-1329 참조).

    약 1 시간 전에 Mahout은 공식적으로 마스터 지점의 Hadoop 2.x에 대한 지원을 추가했습니다 (MAHOUT-1329 참조).

    https://github.com/apache/mahout에서 코드를 확인하고 다음을 사용하여 다시 컴파일하십시오.

    mvn clean package -Dhadoop2.version=2.2.0
    

    시도하고 작동하는지 확인하십시오.

  4. from https://stackoverflow.com/questions/18767843/how-can-i-compile-using-mahout-for-hadoop-2-0 by cc-by-sa and MIT license