소스 검색

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 년 전
부모
커밋
e779eb2db6
2개의 변경된 파일11개의 추가작업 그리고 4개의 파일을 삭제
  1. 0 1
      src/contrib/chukwa/conf/aggregator.sql
  2. 11 3
      src/contrib/chukwa/src/java/org/apache/hadoop/chukwa/database/Aggregator.java

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 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;
 	            	}
 	            }

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.