All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.apache.hadoop.hive.ql.exec.spark.Statistic.SparkStatisticsBuilder Maven / Gradle / Ivy

There is a newer version: 4.0.0
Show newest version
/**
 * 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.hive.ql.exec.spark.Statistic; import org.apache.hive.spark.counter.SparkCounter; import org.apache.hive.spark.counter.SparkCounterGroup; import org.apache.hive.spark.counter.SparkCounters; import java.util.HashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; public class SparkStatisticsBuilder { private Map> statisticMap; public SparkStatisticsBuilder() { statisticMap = new HashMap>(); } public SparkStatistics build() { List statisticGroups = new LinkedList(); for (Map.Entry> entry : statisticMap.entrySet()) { String groupName = entry.getKey(); List statisitcList = entry.getValue(); statisticGroups.add(new SparkStatisticGroup(groupName, statisitcList)); } return new SparkStatistics(statisticGroups); } public SparkStatisticsBuilder add(SparkCounters sparkCounters) { for (SparkCounterGroup counterGroup : sparkCounters.getSparkCounterGroups().values()) { String groupDisplayName = counterGroup.getGroupDisplayName(); List statisticList = statisticMap.get(groupDisplayName); if (statisticList == null) { statisticList = new LinkedList(); statisticMap.put(groupDisplayName, statisticList); } for (SparkCounter counter : counterGroup.getSparkCounters().values()) { String displayName = counter.getDisplayName(); statisticList.add(new SparkStatistic(displayName, Long.toString(counter.getValue()))); } } return this; } public SparkStatisticsBuilder add(String groupName, String name, String value) { List statisticList = statisticMap.get(groupName); if (statisticList == null) { statisticList = new LinkedList(); statisticMap.put(groupName, statisticList); } statisticList.add(new SparkStatistic(name, value)); return this; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy