@Override public JobSuggestionResponse apply(TaskGroupResponse data) { JobSuggestionResponse response = new JobSuggestionResponse(); response.suggestionType = suggestionType.name(); TaskGroup taskGroup = getTasks(data); if (taskGroup.longTasks.isEmpty()) { return response; } double smallerGcRatio = getGcRatio(taskGroup.shortTasks); double largerGcRatio = getGcRatio(taskGroup.longTasks); response.suggestionResults = getGCsuggest(smallerGcRatio, largerGcRatio); return response; }
@Override public JobSuggestionResponse apply(TaskGroupResponse data) { MRTaskExecutionResponse.TaskGroup taskGroup = getTasks(data); double[] smallerGroup = ResourceUtils.getCounterValues(taskGroup.shortTasks, counterName); double[] largerGroup = ResourceUtils.getCounterValues(taskGroup.longTasks, counterName); DescriptiveStatistics statistics = new DescriptiveStatistics(); double avgSmaller = statistics.getMeanImpl().evaluate(smallerGroup); double avgLarger = statistics.getMeanImpl().evaluate(largerGroup); List<MRTaskExecutionResponse.SuggestionResult> suggestionResults = getDeviationSuggest(avgSmaller, avgLarger); MRTaskExecutionResponse.JobSuggestionResponse response = new MRTaskExecutionResponse.JobSuggestionResponse(); response.suggestionResults = suggestionResults; response.suggestionType = suggestType.toString(); return response; }
@Override public JobSuggestionResponse apply(TaskGroupResponse data) { MRTaskExecutionResponse.TaskGroup tasks = getTasks(data); double smallerSpillBytes = getAverageSpillBytes(tasks.shortTasks); double largerSpillBytes = getAverageSpillBytes(tasks.longTasks); JobSuggestionResponse response = new JobSuggestionResponse(); response.suggestionType = Constants.SuggestionType.MapSpill.toString(); response.suggestionResults = getSpillSuggest(smallerSpillBytes, largerSpillBytes); return response; }