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