JobStatisticsInterface.java
上传用户:quxuerui
上传日期:2018-01-08
资源大小:41811k
文件大小:4k
- /**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- package org.apache.hadoop.vaidya.statistics.job;
- import java.util.ArrayList;
- import org.apache.hadoop.mapred.JobConf;
- public interface JobStatisticsInterface {
-
- /**
- * Get job configuration (job.xml) values
- */
- public JobConf getJobConf();
-
- /*
- * Get Job Counters of type long
- */
- public long getLongValue(Enum key);
-
- /*
- * Get job Counters of type Double
- */
- public double getDoubleValue(Enum key);
-
- /*
- * Get Job Counters of type String
- */
- public String getStringValue(Enum key);
-
- /*
- * Set key value of type long
- */
- public void setValue(Enum key, long value);
-
- /*
- * Set key value of type double
- */
- public void setValue(Enum key, double valye);
-
- /*
- * Set key value of type String
- */
- public void setValue(Enum key, String value);
-
- /**
- * @return mapTaskList : ArrayList of MapTaskStatistics
- * @param mapTaskSortKey : Specific counter key used for sorting the task list
- * @param datatype : indicates the data type of the counter key used for sorting
- * If sort key is null then by default map tasks are sorted using map task ids.
- */
- public ArrayList<MapTaskStatistics> getMapTaskList(Enum mapTaskSortKey, KeyDataType dataType);
-
- /**
- * @return reduceTaskList : ArrayList of ReduceTaskStatistics
- * @param reduceTaskSortKey : Specific counter key used for sorting the task list
- * @param dataType : indicates the data type of the counter key used for sorting
- * If sort key is null then, by default reduce tasks are sorted using task ids.
- */
- public ArrayList<ReduceTaskStatistics> getReduceTaskList(Enum reduceTaskSortKey, KeyDataType dataType);
-
-
- /*
- * Print the Job Execution Statistics
- */
- public void printJobExecutionStatistics();
-
-
- /*
- * Job and Task statistics Key data types
- */
- public static enum KeyDataType {
- STRING, LONG, DOUBLE
- }
-
- /**
- * Job Keys
- */
- public static enum JobKeys {
- JOBTRACKERID, JOBID, JOBNAME, USER, SUBMIT_TIME, CONF_PATH, LAUNCH_TIME, TOTAL_MAPS, TOTAL_REDUCES,
- STATUS, FINISH_TIME, FINISHED_MAPS, FINISHED_REDUCES, FAILED_MAPS, FAILED_REDUCES,
- LAUNCHED_MAPS, LAUNCHED_REDUCES, RACKLOCAL_MAPS, DATALOCAL_MAPS, HDFS_BYTES_READ,
- HDFS_BYTES_WRITTEN, LOCAL_BYTES_READ, LOCAL_BYTES_WRITTEN, COMBINE_OUTPUT_RECORDS,
- COMBINE_INPUT_RECORDS, REDUCE_INPUT_GROUPS, REDUCE_INPUT_RECORDS, REDUCE_OUTPUT_RECORDS,
- MAP_INPUT_RECORDS, MAP_OUTPUT_RECORDS, MAP_INPUT_BYTES, MAP_OUTPUT_BYTES, MAP_HDFS_BYTES_WRITTEN,
- JOBCONF
- }
-
- /**
- * Map Task Keys
- */
- public static enum MapTaskKeys {
- TASK_ID, TASK_TYPE, START_TIME, STATUS, FINISH_TIME, HDFS_BYTES_READ, HDFS_BYTES_WRITTEN,
- LOCAL_BYTES_READ, LOCAL_BYTES_WRITTEN, COMBINE_OUTPUT_RECORDS, COMBINE_INPUT_RECORDS,
- OUTPUT_RECORDS, INPUT_RECORDS, INPUT_BYTES, OUTPUT_BYTES, NUM_ATTEMPTS, ATTEMPT_ID,
- HOSTNAME, SPLITS
- }
-
- /**
- * Reduce Task Keys
- */
- public static enum ReduceTaskKeys {
-
- TASK_ID, TASK_TYPE, START_TIME, STATUS, FINISH_TIME, HDFS_BYTES_READ, HDFS_BYTES_WRITTEN,
- LOCAL_BYTES_READ, LOCAL_BYTES_WRITTEN, COMBINE_OUTPUT_RECORDS, COMBINE_INPUT_RECORDS,
- OUTPUT_RECORDS, INPUT_RECORDS, NUM_ATTEMPTS, ATTEMPT_ID, HOSTNAME, SHUFFLE_FINISH_TIME,
- SORT_FINISH_TIME, INPUT_GROUPS
- }
- }