2013-02-18 181 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