You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by GitBox <gi...@apache.org> on 2022/04/11 01:52:51 UTC
[GitHub] [incubator-doris] weizhengte commented on a diff in pull request #8861: [feature-wip](statistics) step4: collect statistics by implementing statistics tasks
weizhengte commented on code in PR #8861:
URL: https://github.com/apache/incubator-doris/pull/8861#discussion_r846893443
##########
fe/fe-core/src/main/java/org/apache/doris/statistics/MetaStatisticsTask.java:
##########
@@ -17,21 +17,84 @@
package org.apache.doris.statistics;
+import org.apache.doris.catalog.Catalog;
+import org.apache.doris.catalog.Column;
+import org.apache.doris.catalog.Database;
+import org.apache.doris.catalog.OlapTable;
+import org.apache.doris.catalog.Table;
+import org.apache.doris.common.DdlException;
+
+import com.google.common.collect.Maps;
+
import java.util.List;
+import java.util.Map;
/*
A statistics task that directly collects statistics by reading FE meta.
*/
public class MetaStatisticsTask extends StatisticsTask {
- public MetaStatisticsTask(long jobId, StatsGranularityDesc granularityDesc,
- StatsCategoryDesc categoryDesc, List<StatsType> statsTypeList) {
+ public MetaStatisticsTask(long jobId,
+ StatsGranularityDesc granularityDesc,
+ StatsCategoryDesc categoryDesc,
+ List<StatsType> statsTypeList) {
super(jobId, granularityDesc, categoryDesc, statsTypeList);
}
@Override
public StatisticsTaskResult call() throws Exception {
- // TODO
- return null;
+ Map<StatsType, String> statsTypeToValue = Maps.newHashMap();
+ List<StatsType> statsTypeList = this.getStatsTypeList();
+
+ for (StatsType statsType : statsTypeList) {
+ switch (statsType) {
+ case ROW_COUNT:
+ getRowCount(statsType, statsTypeToValue);
+ break;
+ case DATA_SIZE:
+ getDataSize(statsType, statsTypeToValue);
+ break;
+ case MAX_SIZE:
+ case AVG_SIZE:
Review Comment:
For fixed-length types such as Int type and Long type are obtained from metadata, so they are equal. and we use SQL to collect variable-length types, such as String type.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org