2014-04-21 51 views
0

当使用带有NEW API和自定义(java)输出格式或(java)Reducer类未发现问题的Hadoop python流时,会发生类似问题。而旧的API则可以正常工作。使用Hadoop Streaming和New API文件格式时未找到类

即 下面的命令行参数工作文件与旧的API,但有新的API的问题。

-inputformat JavaClassName 
    -outputformat JavaClassName 
    -partitioner JavaClassName 
    -combiner streamingCommand or JavaClassNam 

例如,如果你看看这个博客帖子:http://research.neustar.biz/2011/08/30/custom-inputoutput-formats-in-hadoop-streaming/如果你试图用我曾与当地的Hadoop和AWS EMR问题的新MultipleOutputs(减速)来实现这一点。

有什么想法?

回答

0

看起来像-libjars选项丢失。指定JAR,其中包含自定义格式和自定义分区与-libjars选项一起还设置环境变量HADOOP_CLASSPATH新创建的jar执行Hadoop的命令

export HADOOP_CLASSPATH=${HADOOP_CLASSPATH}:Path-Custom-Format.jar

0

真之前如下,请参阅http://jira.pentaho.com/browse/PDI-11959

在使用hadoop-streaming-2.6.0.jar时,我面临与定制分区程序类相同的困难。我得到它的工作

  1. 导入org.apache.hadoop.mapred包而不是各自的mapreduce包。
  2. 实现的,而不是扩展分区程序类

猜分区程序接口,这是一样的旧的API。