You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by da...@apache.org on 2010/05/14 03:38:29 UTC
svn commit: r944076 - in /hadoop/pig/branches/branch-0.7: CHANGES.txt
build.xml conf/pig.properties
src/org/apache/pig/impl/util/PropertiesUtil.java
test/org/apache/pig/test/TestPigServer.java
Author: daijy
Date: Fri May 14 01:38:29 2010
New Revision: 944076
URL: http://svn.apache.org/viewvc?rev=944076&view=rev
Log:
PIG-1381: Need a way for Pig to take an alternative property file
Modified:
hadoop/pig/branches/branch-0.7/CHANGES.txt
hadoop/pig/branches/branch-0.7/build.xml
hadoop/pig/branches/branch-0.7/conf/pig.properties
hadoop/pig/branches/branch-0.7/src/org/apache/pig/impl/util/PropertiesUtil.java
hadoop/pig/branches/branch-0.7/test/org/apache/pig/test/TestPigServer.java
Modified: hadoop/pig/branches/branch-0.7/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/pig/branches/branch-0.7/CHANGES.txt?rev=944076&r1=944075&r2=944076&view=diff
==============================================================================
--- hadoop/pig/branches/branch-0.7/CHANGES.txt (original)
+++ hadoop/pig/branches/branch-0.7/CHANGES.txt Fri May 14 01:38:29 2010
@@ -68,6 +68,8 @@ manner (rding via pradeepkth)
IMPROVEMENTS
+PIG-1381: Need a way for Pig to take an alternative property file (daijy)
+
PIG-1384: Adding contrib javadoc to main Pig javadoc (daijy)
PIG-1320: final documentation updates for Pig 0.7.0 (chandec via olgan)
Modified: hadoop/pig/branches/branch-0.7/build.xml
URL: http://svn.apache.org/viewvc/hadoop/pig/branches/branch-0.7/build.xml?rev=944076&r1=944075&r2=944076&view=diff
==============================================================================
--- hadoop/pig/branches/branch-0.7/build.xml (original)
+++ hadoop/pig/branches/branch-0.7/build.xml Fri May 14 01:38:29 2010
@@ -623,6 +623,7 @@
<fileset dir="${build.docs}" />
</copy>
+ <copy todir="${dist.dir}/conf" file="conf/pig-default.properties"/>
<copy todir="${dist.dir}/conf" file="conf/pig.properties"/>
<copy todir="${dist.dir}/src" includeEmptyDirs="true">
Modified: hadoop/pig/branches/branch-0.7/conf/pig.properties
URL: http://svn.apache.org/viewvc/hadoop/pig/branches/branch-0.7/conf/pig.properties?rev=944076&r1=944075&r2=944076&view=diff
==============================================================================
--- hadoop/pig/branches/branch-0.7/conf/pig.properties (original)
+++ hadoop/pig/branches/branch-0.7/conf/pig.properties Fri May 14 01:38:29 2010
@@ -1,18 +1,8 @@
# Pig configuration file. All values can be overwritten by command line arguments.
-# see bin/pig -help
# log4jconf log4j configuration file
# log4jconf=./conf/log4j.properties
-# brief logging (no timestamps)
-brief=false
-
-# clustername, name of the hadoop jobtracker. If no port is defined port 50020 will be used.
-#cluster
-
-#debug level, INFO is default
-debug=INFO
-
# a file that contains pig script
#file=
@@ -20,23 +10,15 @@ debug=INFO
#jar=
#verbose print all log messages to screen (default to print only INFO and above to screen)
-verbose=false
+#verbose=true
#exectype local|mapreduce, mapreduce is default
-exectype=mapreduce
-# hod realted properties
-#ssh.gateway
-#hod.expect.root
-#hod.expect.uselatest
-#hod.command
-#hod.config.dir
-#hod.param
+#exectype=local
#pig.logfile=
-
#Do not spill temp files smaller than this size (bytes)
-pig.spill.size.threshold=5000000
+#pig.spill.size.threshold=5000000
#EXPERIMENT: Activate garbage collection when spilling a file bigger than this size (bytes)
#This should help reduce the number of files being spilled.
-pig.spill.gc.activation.size=40000000
+#pig.spill.gc.activation.size=40000000
Modified: hadoop/pig/branches/branch-0.7/src/org/apache/pig/impl/util/PropertiesUtil.java
URL: http://svn.apache.org/viewvc/hadoop/pig/branches/branch-0.7/src/org/apache/pig/impl/util/PropertiesUtil.java?rev=944076&r1=944075&r2=944076&view=diff
==============================================================================
--- hadoop/pig/branches/branch-0.7/src/org/apache/pig/impl/util/PropertiesUtil.java (original)
+++ hadoop/pig/branches/branch-0.7/src/org/apache/pig/impl/util/PropertiesUtil.java Fri May 14 01:38:29 2010
@@ -31,16 +31,33 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class PropertiesUtil {
+ private static final String DEFAULT_PROPERTIES_FILE = "/pig-default.properties";
private static final String PROPERTIES_FILE = "/pig.properties";
private final static Log log = LogFactory.getLog(PropertiesUtil.class);
public static void loadPropertiesFromFile(Properties properties) {
InputStream inputStream = null;
BufferedInputStream bis = null;
+ Class<PropertiesUtil> clazz = PropertiesUtil.class;
try {
- Class<PropertiesUtil> clazz = PropertiesUtil.class;
inputStream = clazz
- .getResourceAsStream(PROPERTIES_FILE);
+ .getResourceAsStream(DEFAULT_PROPERTIES_FILE);
+ if (inputStream == null) {
+ String msg = "no pig-default.properties configuration file available in the classpath";
+ log.debug(msg);
+ } else {
+ properties.load(inputStream);
+ }
+ } catch (Exception e) {
+ log.error("unable to parse pig-default.properties :", e);
+ } finally {
+ if (inputStream != null) try {inputStream.close();} catch (Exception e) {}
+ }
+
+ try {
+ inputStream = null;
+ inputStream = clazz
+ .getResourceAsStream(PROPERTIES_FILE);
if (inputStream == null) {
String msg = "no pig.properties configuration file available in the classpath";
log.debug(msg);
Modified: hadoop/pig/branches/branch-0.7/test/org/apache/pig/test/TestPigServer.java
URL: http://svn.apache.org/viewvc/hadoop/pig/branches/branch-0.7/test/org/apache/pig/test/TestPigServer.java?rev=944076&r1=944075&r2=944076&view=diff
==============================================================================
--- hadoop/pig/branches/branch-0.7/test/org/apache/pig/test/TestPigServer.java (original)
+++ hadoop/pig/branches/branch-0.7/test/org/apache/pig/test/TestPigServer.java Fri May 14 01:38:29 2010
@@ -19,6 +19,7 @@
package org.apache.pig.test;
import java.io.File;
+import java.io.FileWriter;
import java.io.IOException;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
@@ -30,8 +31,10 @@ import java.io.FileInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintStream;
+import java.io.PrintWriter;
import java.util.List;
import java.util.Iterator;
+import java.util.Properties;
import java.net.URL;
import java.net.URLClassLoader;
import java.lang.reflect.Method;
@@ -39,6 +42,7 @@ import java.lang.reflect.Method;
import org.apache.pig.ExecType;
import org.apache.pig.PigServer;
import org.apache.pig.impl.logicalLayer.schema.Schema;
+import org.apache.pig.impl.util.PropertiesUtil;
import org.junit.AfterClass;
import org.junit.Before;
@@ -570,4 +574,30 @@ public class TestPigServer extends TestC
}
fileWithStdOutContents.close();
}
+
+ @Test
+ public void testPigProperties() throws Throwable {
+ File defaultPropertyFile = new File("pig-default.properties");
+ File propertyFile = new File("pig.properties");
+
+ Properties properties = PropertiesUtil.loadPropertiesFromFile();
+ assertTrue(properties.getProperty("test123")==null);
+
+ PrintWriter out = new PrintWriter(new FileWriter(defaultPropertyFile));
+ out.println("test123=defaultproperties");
+ out.close();
+
+ properties = PropertiesUtil.loadPropertiesFromFile();
+ assertTrue(properties.getProperty("test123").equals("defaultproperties"));
+
+ out = new PrintWriter(new FileWriter(propertyFile));
+ out.println("test123=properties");
+ out.close();
+
+ properties = PropertiesUtil.loadPropertiesFromFile();
+ assertTrue(properties.getProperty("test123").equals("properties"));
+
+ defaultPropertyFile.delete();
+ propertyFile.delete();
+ }
}