Browse Source

HADOOP-5051.

- Added macro token subsitution for sum(table_name) 
- Added correct hdfs throughput aggregation SQL macros.


git-svn-id: https://svn.apache.org/repos/asf/hadoop/core/trunk@748632 13f79535-47bb-0310-9956-ffa450edef68
Eric Yang 16 years ago
parent
commit
e779eb2db6

File diff suppressed because it is too large
+ 0 - 1
src/contrib/chukwa/conf/aggregator.sql


+ 11 - 3
src/contrib/chukwa/src/java/org/apache/hadoop/chukwa/database/Aggregator.java

@@ -81,7 +81,7 @@ public class Aggregator {
 	public String computeMacro(String macro) throws SQLException {
 		Pattern p = Pattern.compile("past_(.*)_minutes");
 		Matcher matcher = p.matcher(macro);
-		if(macro.indexOf("avg(")==0 || macro.indexOf("group_avg(")==0) {
+		if(macro.indexOf("avg(")==0 || macro.indexOf("group_avg(")==0 || macro.indexOf("sum(")==0) {
 			String meta="";
 			String[] table = dbc.findTableName(macro.substring(macro.indexOf("(")+1,macro.indexOf(")")), current, current);
 			try {
@@ -108,12 +108,20 @@ public class Aggregator {
 	            	} else if(type==java.sql.Types.DOUBLE ||
 	            			  type==java.sql.Types.FLOAT ||
 	            			  type==java.sql.Types.INTEGER) {
-	            		meta=meta+"avg("+name+")";
+	            		if(macro.indexOf("sum(")==0) {
+	            		    meta=meta+"sum("+name+")";	            			
+	            		} else {
+	            		    meta=meta+"avg("+name+")";
+	            		}
 		            	first=false;
 	            	} else if(type==java.sql.Types.TIMESTAMP) {
 	            		// Skip the column
 	            	} else {
-	            		meta=meta+"AVG("+name+")";
+	            		if(macro.indexOf("sum(")==0) {
+	            		    meta=meta+"SUM("+name+")";
+	            		} else {
+		            		meta=meta+"AVG("+name+")";	            			
+	            		}
 		            	first=false;
 	            	}
 	            }

Some files were not shown because too many files changed in this diff