복붙노트

[HADOOP] JobControl 및 JofConf.setMapperClass () 오류

HADOOP

JobControl 및 JofConf.setMapperClass () 오류

JobControl을 사용하여 여러 Mappers와 Reducers를 함께 연결하려고하지만 JobConf.setMapperClass를 호출 할 때 다음 오류가 발생합니다.

setMapperClass(java.lang.Class<? extends org.apache.hadoop.mapred.Mapper>) in
    org.apache.hadoop.mapred.JobConf cannot be applied to
    (java.lang.Class<capture#530 of ? extends org.apache.hadoop.mapreduce.Mapper>)

java가 mapreduce.Mapper를 기반으로하는 Mapper의 구현을 불평하는 반면 JobControl은 mapred.Mapper를 사용합니다. (나는이 부분에 맞습니까?)

이제 내 질문은 : mapreduce.Mapper를 계속 사용하고 JobControl을 포기하고 내 작업을 연결할 다른 것을 찾거나 구현을 mapred.Mapper로 변경하고 JobControl을 계속 사용 해야하는지입니다. 그들 중 하나가 감가 상각 된 것으로 간주됩니까?

해결법

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

    1.주석에서 논의 된 것처럼, mapred 및 mapreduce 패키지는 서로 구별되며 mapreduce는 더 새롭고 더 깨끗한 패키지입니다. 차이점은이 게시물에서 자세히 설명합니다 : hadoop.mapred vs hadoop.mapreduce?

    주석에서 논의 된 것처럼, mapred 및 mapreduce 패키지는 서로 구별되며 mapreduce는 더 새롭고 더 깨끗한 패키지입니다. 차이점은이 게시물에서 자세히 설명합니다 : hadoop.mapred vs hadoop.mapreduce?

    따라서 특정 문제의 경우 org.apache.hadoop.mapred.jobcontrol.JobControl 대신 org.apache.hadoop.mapreduce.lib.jobcontrol.JobControl을 사용하려는 것 같습니다.

    또한 다음을 참조하십시오 : mapdduce 또는 mapreduce 패키지를 사용하여 Hadoop 작업을 작성하는 것이 더 낫습니까?

  2. from https://stackoverflow.com/questions/19307657/jobcontrol-and-jofconf-setmapperclass-error by cc-by-sa and MIT license