Java 使用Hadoop流和新API文件格式时找不到类
当使用带有新API和自定义(java)out格式或(java)Reducer类的Hadoop python流时,会出现“未找到”问题。然而,同样的方法也适用于旧的API i、 e。 以下命令行参数可用于旧api的文件,但在新api中存在问题Java 使用Hadoop流和新API文件格式时找不到类,java,python,hadoop,streaming,Java,Python,Hadoop,Streaming,当使用带有新API和自定义(java)out格式或(java)Reducer类的Hadoop python流时,会出现“未找到”问题。然而,同样的方法也适用于旧的API i、 e。 以下命令行参数可用于旧api的文件,但在新api中存在问题 -inputformat JavaClassName -outputformat JavaClassName -partitioner JavaClassName -combiner streamingCommand or JavaC
-inputformat JavaClassName
-outputformat JavaClassName
-partitioner JavaClassName
-combiner streamingCommand or JavaClassNam
例如,如果您查看这篇博文:如果您试图用新的multipleoutput(reducer)实现这一点,我在本地Hadoop和AWS EMR中遇到了问题
有什么想法吗 看起来缺少-libjars选项。指定jar,其中包含自定义格式和自定义分区器以及-libjars选项。在执行HADOOP命令之前,还可以在环境变量HADOOP_CLASSPATH中设置新创建的jar,如下所示
export-HADOOP\u CLASSPATH=${HADOOP\u CLASSPATH}:Path-Custom-Format.jar
True,请参阅
在使用hadoop-streaming-2.6.0.jar时,我遇到了定制分区器类的同样困难。我让它工作了