pig将所有通过( pigserver.registerjar
)变成一个job.jar。这实际上移除了 META-INF/MANIFEST.MF
.
我们有一个自定义项,它用 MANIFEST.MF
包含预定义属性(我们的一个jar包含这个)。当Pig取下这个的时候 MANIFEST.MF
我们的自由民主党停止工作了。
有没有办法将jar添加到classpath而不是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);
2条答案
按热度按时间vc9ivgsu1#
添加:
收件人:
ffdz8vbo2#
您可以尝试从正在提交pig脚本的父程序中设置类路径,或者更简单的方法是在执行父程序之前使用unix脚本设置类路径,例如
CLASSPATH=$CLASSPATH:your_jars java parent_program
上面的行将确保修改classpath变量只是为了执行当前程序