pig-addjars到类路径

fykwrbwg  于 2021-06-04  发布在  Hadoop
关注(0)|答案(2)|浏览(257)

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);
vc9ivgsu

vc9ivgsu1#

添加:

PIG_CLASSPATH=your_jar_file

收件人:

$PIG_HOME/bin/pig
ffdz8vbo

ffdz8vbo2#

您可以尝试从正在提交pig脚本的父程序中设置类路径,或者更简单的方法是在执行父程序之前使用unix脚本设置类路径,例如 CLASSPATH=$CLASSPATH:your_jars java parent_program 上面的行将确保修改classpath变量只是为了执行当前程序

相关问题