You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Vineet Garg (JIRA)" <ji...@apache.org> on 2017/09/29 04:11:00 UTC
[jira] [Comment Edited] (HIVE-17634) Use properties from HiveConf
about "fetchColStats" and "fetchPartStats" in
RelOptHiveTable#updateColStats
[ https://issues.apache.org/jira/browse/HIVE-17634?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16185323#comment-16185323 ]
Vineet Garg edited comment on HIVE-17634 at 9/29/17 4:10 AM:
-------------------------------------------------------------
[~kellyzly] We decided to estimate stats only if they don't exist in metastore. So if user has explicitly turned off {{hive.stats.fetch.column.stats}} we assume user is not interested in statistics (either from metastore or estimated) for physical planning. Estimate statistics is mostly for preventing falling back to non-cbo in case of missing statistics,it is better to always use stats from metastore if they exist. Hope that makes sense.
I am not convinced why would user not want to fetch stats from metastore and instead rely upon estimated statistics?
was (Author: vgarg):
[~kellyzly] We decided to estimate stats only if they don't exist in metastore. So if user has explicitly turned off {{hive.stats.fetch.column.stats}} we assume user is not interested in statistics (either from metastore or estimated) for physical planning. Estimate statistics is mostly for preventing falling back to non-cbo in case of missing statistics,it is better to always use stats from metastore if they exist.
I am not convinced why would user not want to fetch stats from metastore and instead rely upon estimated statistics?
> Use properties from HiveConf about "fetchColStats" and "fetchPartStats" in RelOptHiveTable#updateColStats
> ---------------------------------------------------------------------------------------------------------
>
> Key: HIVE-17634
> URL: https://issues.apache.org/jira/browse/HIVE-17634
> Project: Hive
> Issue Type: Bug
> Reporter: liyunzhang_intel
> Assignee: liyunzhang_intel
> Attachments: HIVE-17634.patch
>
>
> in [RelOptHiveTable#updateColStats|https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/RelOptHiveTable.java#L309], we set {{fetchColStats}},{{fetchPartStats}} as true when call {{StatsUtils.collectStatistics}}
> {code}
> if (!hiveTblMetadata.isPartitioned()) {
> // 2.1 Handle the case for unpartitioned table.
> try {
> Statistics stats = StatsUtils.collectStatistics(hiveConf, null,
> hiveTblMetadata, hiveNonPartitionCols, nonPartColNamesThatRqrStats,
> colStatsCached, nonPartColNamesThatRqrStats, true, true);
> ...
> {code}
> This will cause querying columns statistic from metastore even we set {{hive.stats.fetch.column.stats}} and {{hive.stats.fetch.partition.stats}} as false in HiveConf. If we these two properties as false, we can not any column statistics from metastore. Suggest to set the properties from HiveConf.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)