Mapper class not found

前端 未结 2 485
醉话见心
醉话见心 2021-02-06 18:01

Sometimes my MR job complains that MyMapper class in not found. And that i have to give job.setJarByClass(MyMapper.class); to tell it to load it from my jar file.

cloude

2条回答
  •  情歌与酒
    2021-02-06 18:30

    Be sure to add any dependencies to both the HADOOP_CLASSPATH and -libjars upon submitting a job like in the following examples:

    Use the following to add all the jar dependencies from (for example) current and lib directories:

    export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:`echo *.jar`:`echo lib/*.jar | sed 's/ /:/g'`
    

    Bear in mind that when starting a job through hadoop jar you'll need to also pass it the jars of any dependencies through use of -libjars. I like to use:

    hadoop jar   -libjars `echo ./lib/*.jar | sed 's/ /,/g'` [args...]
    

    NOTE: The sed commands require a different delimiter character; the HADOOP_CLASSPATH is : separated and the -libjars need to be , separated.

提交回复
热议问题