You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by ol...@apache.org on 2010/02/17 20:21:55 UTC
svn commit: r911150 - in /hadoop/pig/trunk: CHANGES.txt
src/org/apache/pig/PigServer.java
test/org/apache/pig/test/TestPigContext.java
Author: olga
Date: Wed Feb 17 19:21:55 2010
New Revision: 911150
URL: http://svn.apache.org/viewvc?rev=911150&view=rev
Log:
PIG-1226: suuport for additional jar files (thejas via olgan)
Modified:
hadoop/pig/trunk/CHANGES.txt
hadoop/pig/trunk/src/org/apache/pig/PigServer.java
hadoop/pig/trunk/test/org/apache/pig/test/TestPigContext.java
Modified: hadoop/pig/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/CHANGES.txt?rev=911150&r1=911149&r2=911150&view=diff
==============================================================================
--- hadoop/pig/trunk/CHANGES.txt (original)
+++ hadoop/pig/trunk/CHANGES.txt Wed Feb 17 19:21:55 2010
@@ -24,6 +24,8 @@
IMPROVEMENTS
+PIG-1226: suuport for additional jar files (thejas via olgan)
+
PIG-1230: Streaming input in POJoinPackage should use nonspillable bag to
collect tuples (ashutoshc)
Modified: hadoop/pig/trunk/src/org/apache/pig/PigServer.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/src/org/apache/pig/PigServer.java?rev=911150&r1=911149&r2=911150&view=diff
==============================================================================
--- hadoop/pig/trunk/src/org/apache/pig/PigServer.java (original)
+++ hadoop/pig/trunk/src/org/apache/pig/PigServer.java Wed Feb 17 19:21:55 2010
@@ -167,8 +167,32 @@
if (connect) {
pigContext.connect();
}
+
+ addJarsFromProperties();
}
+ private void addJarsFromProperties() throws ExecException {
+ //add jars from properties to extraJars
+ String jar_str = pigContext.getProperties().getProperty("pig.additional.jars");
+ if(jar_str != null){
+ for(String jar : jar_str.split(":")){
+ try {
+ registerJar(jar);
+ } catch (IOException e) {
+ int errCode = 4010;
+ String msg =
+ "Failed to register jar :" + jar + ". Caught exception.";
+ throw new ExecException(
+ msg,
+ errCode,
+ PigException.USER_ENVIRONMENT,
+ e
+ );
+ }
+ }
+ }
+ }
+
public PigContext getPigContext(){
return pigContext;
}
Modified: hadoop/pig/trunk/test/org/apache/pig/test/TestPigContext.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/test/org/apache/pig/test/TestPigContext.java?rev=911150&r1=911149&r2=911150&view=diff
==============================================================================
--- hadoop/pig/trunk/test/org/apache/pig/test/TestPigContext.java (original)
+++ hadoop/pig/trunk/test/org/apache/pig/test/TestPigContext.java Wed Feb 17 19:21:55 2010
@@ -151,12 +151,16 @@
// generate jar file
String jarName = "TestUDFJar.jar";
+ String jarFile = tmpDir.getAbsolutePath() + FILE_SEPARATOR + jarName;
status = Util.executeShellCommand("jar -cf " + tmpDir.getAbsolutePath() + FILE_SEPARATOR + jarName +
" -C " + tmpDir.getAbsolutePath() + " " + "com");
assertTrue(status==0);
+ Properties properties = cluster.getProperties();
+ PigContext pigContext = new PigContext(ExecType.MAPREDUCE, properties);
- PigServer pig = new PigServer(pigContext);
- pig.registerJar(tmpDir.getAbsolutePath() + FILE_SEPARATOR + jarName);
+ //register jar using properties
+ pigContext.getProperties().setProperty("pig.additional.jars", jarFile);
+ PigServer pigServer = new PigServer(pigContext);
PigContext.initializeImportList("com.xxx.udf1:com.xxx.udf2.");
ArrayList<String> importList = PigContext.getPackageImportList();
@@ -182,7 +186,6 @@
ps.close();
FileLocalizer.deleteTempFiles();
- PigServer pigServer = new PigServer(ExecType.MAPREDUCE, cluster.getProperties());
pigServer.registerQuery("A = LOAD '" + Util.generateURI(tmpFile.toString()) + "' using TestUDF2() AS (num:chararray);");
pigServer.registerQuery("B = foreach A generate TestUDF1(num);");
Iterator<Tuple> iter = pigServer.openIterator("B");