您的位置:首页 > 运维架构

hadoop-1.0.0的hadoop-streaming-1.0.0.jar还是按照以前的api编写/如何将自定义InputFormat加入Streaming

2012-03-26 22:03 567 查看
hadoop-1.0.0的hadoop-streaming-1.0.0.jar还是按照以前的类编写的

mjiang@venus ~/hadoop-1.0.0 $ vi src/contrib/streaming/src/java/org/apache/hadoop/streaming/StreamJob.java

import org.apache.hadoop.mapred.FileAlreadyExistsException;
import org.apache.hadoop.mapred.FileInputFormat;
...


以至于我用1.0.0的api编写的输入类SdfTextInputFormat不能加入hadoop-streaming-1.0.0.jar

即通过:

mjiang@venus ~/java/eclipse/target-hadoop/SdfInputFormat-old $ jar uf jar-streaming/hadoop-streaming-1.0.0.jar -C classes-streaming/ .
运行出现错误如下:

mjiang@venus ~/java/eclipse/target-hadoop/SdfInputFormat-streaming $ hadoop jar jar-streaming/hadoop-streaming-1.0.0.jar    -input "/Com*"      -output "o2"      -mapper 'babel -isdf -ofpt  -xh -xf FP4'  -inputformat SdfTextInputFormat  -numReduceTasks 0
Exception in thread "main" java.lang.RuntimeException: class org.apache.hadoop.streaming.SdfTextInputFormat not org.apache.hadoop.mapred.InputFormat


想到可能是版本的问题,只好再用旧的api重新写了一下,OK

~~~~~~~~~~~~~~~

添加到原来的jar文件步骤:

class中的包与jar中的一样。

javac 编译 ,不用和原来的jar中的class一起

jar uf
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: