2013-02-18 183 views
3

猪把通过(pigserver.registerjar)注册的所有罐子合并成一个job.jar。这实际上删除了META-INF/MANIFEST.MF猪 - 将罐子添加到类路径

我们有一个UDF,它查找包含预定义属性的MANIFEST.MF的jar(我们的一个jar包含这个)。由于Pig删除了这个MANIFEST.MF我们的UDF停止工作。

有没有办法将jar添加到类路径而不是registerjar?或者有什么办法可以克服这个问题吗?

以下是代码片段:

cluster = new Cluster(new PigContext(ExecType.MAPREDUCE,properties)); 
PigServer pigServer = new PigServer(ExecType.MAPREDUCE,properties); 
pigServer.registerJar("xyz.jar"); 
PigTest pigTest = new PigTest(pigFile, args, pigServer, cluster); 
pigTest.assertOutput("xxyyzz", jsonString); 

回答

0

你可以尝试从中提交猪脚本或其他更简单的是只 使用UNIX脚本设置你的父母程序中设置类路径类路径只是执行父程序,像CLASSPATH=$CLASSPATH:your_jars java parent_program 之前将上述线将确保CLASSPATH变量只为当前节目

0

加载的执行修改:

PIG_CLASSPATH=your_jar_file 

到:

$PIG_HOME/bin/pig