Author: olga
Date: Fri Nov 16 16:21:46 2007
New Revision: 595880

URL: http://svn.apache.org/viewvc?rev=595880&view=rev
Log:
added binary comparator; PIG-8

Modified:
    incubator/pig/trunk/CHANGES.txt
    
incubator/pig/trunk/src/org/apache/pig/impl/mapreduceExec/MapReduceLauncher.java

Modified: incubator/pig/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/incubator/pig/trunk/CHANGES.txt?rev=595880&r1=595879&r2=595880&view=diff
==============================================================================
--- incubator/pig/trunk/CHANGES.txt (original)
+++ incubator/pig/trunk/CHANGES.txt Fri Nov 16 16:21:46 2007
@@ -18,4 +18,4 @@
 
        PIG-23 Made pig work with java 1.5. (milindb via gates)
 
-
+       PIG-8 added binary comparator (olgan)

Modified: 
incubator/pig/trunk/src/org/apache/pig/impl/mapreduceExec/MapReduceLauncher.java
URL: 
http://svn.apache.org/viewvc/incubator/pig/trunk/src/org/apache/pig/impl/mapreduceExec/MapReduceLauncher.java?rev=595880&r1=595879&r2=595880&view=diff
==============================================================================
--- 
incubator/pig/trunk/src/org/apache/pig/impl/mapreduceExec/MapReduceLauncher.java
 (original)
+++ 
incubator/pig/trunk/src/org/apache/pig/impl/mapreduceExec/MapReduceLauncher.java
 Fri Nov 16 16:21:46 2007
@@ -40,6 +40,7 @@
 
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.io.UTF8;
+import org.apache.hadoop.io.WritableComparator;
 import org.apache.hadoop.mapred.JobConf;
 import org.apache.hadoop.mapred.TaskReport;
 import org.apache.hadoop.mapred.JobClient;
@@ -63,6 +64,16 @@
         numMRJobs = numMRJobsIn;
         mrJobNumber = 0;
     }
+
+    public static class PigWritableComparator extends WritableComparator {
+        public PigWritableComparator() {
+            super(Tuple.class);
+        }
+
+        public int compare(byte[] b1, int s1, int l1, byte[] b2, int s2, int 
l2){
+            return WritableComparator.compareBytes(b1, s1, l1, b2, s2, l2);
+           }
+    }
         
     static Random rand = new Random();
 
@@ -136,7 +147,11 @@
                        conf.setCombinerClass(PigCombine.class);
                if (pom.quantilesFile!=null){
                        conf.set("pig.quantilesFile", pom.quantilesFile);
-               }
+                }
+                else{
+                    // this is not a sort job - can use byte comparison to 
speed up processing
+                    
conf.setOutputKeyComparatorClass(PigWritableComparator.class);                  
                   
+                }
                if (pom.partitionFunction!=null){
                        conf.setPartitionerClass(SortPartitioner.class);
                }


Reply via email to