복붙노트

[HADOOP] 드라이버 클래스 컴파일 오류 - 하둡 맵리 듀스

HADOOP

드라이버 클래스 컴파일 오류 - 하둡 맵리 듀스

나는 세 된 .java 파일이

1) Mapper.java
2) Reducer.java
3) Driver.java

나는 드라이버 클래스를 사용하여 명령 줄에서 하둡 맵리 듀스 프로그램을 컴파일하려고하지만 오류가 아래에 표시되어

Driver.java:39: error: cannot find symbol
        job.setMapperClass(Mapper.class);
                           ^
  symbol:   class Mapper
  location: class Driver
Driver.java:40: error: cannot find symbol
        job.setReducerClass(Reducer.class);

내가 error.Below 위 해결할 수있는 방법은 드라이버의 메소드를 실행

public boolean runnerParsing(String inputPath, String outputPath) throws IOException, ClassNotFoundException, InterruptedException {
         Configuration conf = new Configuration();

        Job job = new Job(conf, "Parsing");
        job.setJarByClass(Driver.class);


        job.setOutputKeyClass(Text.class);
        job.setOutputValueClass(Text.class);

        job.setMapperClass(Mapper.class);
        job.setReducerClass(Reducer.class);
        //job.setNumReduceTasks(0);

        job.setInputFormatClass(TextInputFormat.class);
        job.setOutputFormatClass(TextOutputFormat.class);

        FileInputFormat.addInputPath(job, new Path(inputPath));
        FileOutputFormat.setOutputPath(job, new Path(outputPath));

        return job.waitForCompletion(true);

     }

해결법

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

    1.아래 모든 자바 파일을 컴파일해야합니다 :

    아래 모든 자바 파일을 컴파일해야합니다 :

    javac의 -classpath /usr/local/hadoop/hadoop-core-1.2.1.jar -d compiled_classes Driver.java Mapper.java Reducer.java

    클래스 경로 값은 하둡을 설치하는 방법에 따라 다소 변경 될 수 있습니다.

    도움이 더 필요하면 도움이 될이 문서에서 참조하시기 바랍니다 : http://www.bigdatatutes.com/getting-started-with-big-data/

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

    2.이것은 내가 생각하는 것입니다 :

    이것은 내가 생각하는 것입니다 :

    당신은 질문뿐만 아니라 당신의 맵퍼 및 감속기 클래스를 추가 할 수 있습니까?

  3. ==============================

    3."하둡 빅 데이터 'byGarry Tukington 가브리엘 모 및 제 3 장에 TopTenHashTag 클래스 드라이버 코드, 다른 자바 클래스에 대한 기준이 지시가, 상위 N 패턴의 예가있다 :

    "하둡 빅 데이터 'byGarry Tukington 가브리엘 모 및 제 3 장에 TopTenHashTag 클래스 드라이버 코드, 다른 자바 클래스에 대한 기준이 지시가, 상위 N 패턴의 예가있다 :

    job.setJarByClass (HashTagCount.class);

    / 가정 / hduser / 놀이터 / SRC : 내 PC에서, 두 파일, HashTagCount.java 및 TopTenHashTag.java는에 있습니다

    내 컴파일 명령은 다음과 같다 (나를 위해 일했다)

    javac의 -classpath $ HADOOP_HOME / 주 / 하둡 / 일반 / lib 디렉토리 / 활성화-1.1.jar : $ HADOOP_HOME / 주 / 하둡 / 일반 / 하둡 - 공통 2.7.1.jar : $ HADOOP_HOME / 주 / 하둡 / 일반 / lib 디렉토리 / : /usr/hadoop/hadoop-2.7.1/share/hadoop/mapreduce/ -d 놀이터 / classes7 놀이터 / SRC / TopTenHashTag.java \ 놀이터 / SRC / HashTagCount.java

    이것은 .jar 파일을 만들 수있는 명령입니다 : 놀이터 / TopTenHashTag.jar -C 놀이터 / classes7을 /를 -cvf 항아리.

    그리고 마침내는 맵리 듀스 작업을 시작하는 명령은 다음과 같습니다

    하둡 항아리 /home/hduser/playground/TopTenHashTag.jar com.learninghadoop2.mapreduce.TopTenHashTag / 사용자 / hduser / inxYZ / outHashXYZ

  4. from https://stackoverflow.com/questions/26570205/driver-class-compilation-error-hadoop-mapreduce by cc-by-sa and MIT license