You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@chukwa.apache.org by as...@apache.org on 2012/07/17 02:06:37 UTC
svn commit: r1362318 - in
/incubator/chukwa/trunk/src/main/java/org/apache/hadoop/chukwa/extraction:
CHUKWA_CONSTANT.java demux/ChukwaRecordPartitioner.java
Author: asrabkin
Date: Tue Jul 17 00:06:37 2012
New Revision: 1362318
URL: http://svn.apache.org/viewvc?rev=1362318&view=rev
Log:
CHUKWA-647. Spread out intermediate data with the same ReduceType into different Reduce Tasks. Contributed by Jie Huang.
Modified:
incubator/chukwa/trunk/src/main/java/org/apache/hadoop/chukwa/extraction/CHUKWA_CONSTANT.java
incubator/chukwa/trunk/src/main/java/org/apache/hadoop/chukwa/extraction/demux/ChukwaRecordPartitioner.java
Modified: incubator/chukwa/trunk/src/main/java/org/apache/hadoop/chukwa/extraction/CHUKWA_CONSTANT.java
URL: http://svn.apache.org/viewvc/incubator/chukwa/trunk/src/main/java/org/apache/hadoop/chukwa/extraction/CHUKWA_CONSTANT.java?rev=1362318&r1=1362317&r2=1362318&view=diff
==============================================================================
--- incubator/chukwa/trunk/src/main/java/org/apache/hadoop/chukwa/extraction/CHUKWA_CONSTANT.java (original)
+++ incubator/chukwa/trunk/src/main/java/org/apache/hadoop/chukwa/extraction/CHUKWA_CONSTANT.java Tue Jul 17 00:06:37 2012
@@ -64,5 +64,6 @@ public interface CHUKWA_CONSTANT {
public static final String ARCHIVES_IN_ERROR_DIR_NAME = "inError/";
public static final String POST_DEMUX_DATA_LOADER = "chukwa.post.demux.data.loader";
+ public static final String INCLUDE_KEY_IN_PARTITIONER = "_";
public static final String POST_DEMUX_SUCCESS_ACTION = "chukwa.post.demux.success.action";
}
Modified: incubator/chukwa/trunk/src/main/java/org/apache/hadoop/chukwa/extraction/demux/ChukwaRecordPartitioner.java
URL: http://svn.apache.org/viewvc/incubator/chukwa/trunk/src/main/java/org/apache/hadoop/chukwa/extraction/demux/ChukwaRecordPartitioner.java?rev=1362318&r1=1362317&r2=1362318&view=diff
==============================================================================
--- incubator/chukwa/trunk/src/main/java/org/apache/hadoop/chukwa/extraction/demux/ChukwaRecordPartitioner.java (original)
+++ incubator/chukwa/trunk/src/main/java/org/apache/hadoop/chukwa/extraction/demux/ChukwaRecordPartitioner.java Tue Jul 17 00:06:37 2012
@@ -21,6 +21,8 @@ package org.apache.hadoop.chukwa.extract
import org.apache.hadoop.chukwa.extraction.engine.ChukwaRecord;
import org.apache.hadoop.chukwa.extraction.engine.ChukwaRecordKey;
+import org.apache.hadoop.chukwa.extraction.CHUKWA_CONSTANT;
+
import org.apache.hadoop.mapred.JobConf;
import org.apache.hadoop.mapred.Partitioner;
import org.apache.log4j.Logger;
@@ -44,7 +46,9 @@ public class ChukwaRecordPartitioner<K,
+ "] - Reducer:"
+ ((key.getReduceType().hashCode() & Integer.MAX_VALUE) % numReduceTasks));
}
- return (key.getReduceType().hashCode() & Integer.MAX_VALUE)
+ String hashkey = key.getReduceType();
+ if(key.getKey().startsWith(CHUKWA_CONSTANT.INCLUDE_KEY_IN_PARTITIONER)) hashkey = key.getReduceType()+"#"+key.getKey();
+ return (hashkey.hashCode() & Integer.MAX_VALUE)
% numReduceTasks;
}