使用hadoop-streaming-0.20.205.0.jar作为定制jar,Amazon Elastic Mapreduce

使用hadoop-streaming-0.20.205.0.jar作为定制jar,Amazon Elastic Mapreduce,mapreduce,amazon,emr,Mapreduce,Amazon,Emr,当我使用Amazon Elastic Mapreduce时,我希望使用hadoop-streaming-0.20.205.0.jar进行hadoop流式处理,而不是使用Elastic Mapreduce的流式处理。我需要设计自定义分区器、输入格式、输出格式等等 因此,我尝试创建一个新的自定义JAR作业作为 JAR Location: stt.streaming/hadoop-streaming-0.20.205.0.jar JAR Arguments: -input s3n://stt

当我使用Amazon Elastic Mapreduce时,我希望使用hadoop-streaming-0.20.205.0.jar进行hadoop流式处理,而不是使用Elastic Mapreduce的流式处理。我需要设计自定义分区器、输入格式、输出格式等等

因此,我尝试创建一个新的自定义JAR作业作为

JAR Location: stt.streaming/hadoop-streaming-0.20.205.0.jar
JAR Arguments: 
    -input s3n://stt.streaming/test_input 
    -output s3n://stt.streaming/test_output 
    -mapper s3n://stt.streaming/mapper.py 
    -reducer s3n://stt.streaming/reducer.py
python脚本mapper.py和reducer.py使用EMR的流作业执行时没有任何问题

但是,我得到了以下错误消息

java.io.IOException: Cannot run program "s3n://stt.streaming/mapper.py": java.io.IOException: error=2, No such file or directory
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:460)
    at org.apache.hadoop.streaming.PipeMapRed.configure(PipeMapRed.java:166)
    at org.apache.hadoop.streaming.PipeMapper.configure(PipeMapper.java:63)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:88)
    at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:64)
    at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:117)
    at org.apache.hadoop.mapred.MapRunner.configure(MapRunner.java:34)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    ...
    ...
    ...
我问题的重点是

我的工作中有潜在的问题吗?我不知道还有哪些问题,因为访问mapper.py和reducer.py时我的作业失败了。 如何访问我的mapper.py和reducer.py? EMR的流媒体作业似乎使用/home/hadoop/contrib/streaming/hadoop-streaming.jar。我能得到这个消息来源吗?我的问题可以解决,如果我得到这个来源。 谢谢