[ https://issues.apache.org/jira/browse/HIVE-23530?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jesus Camacho Rodriguez updated HIVE-23530: ------------------------------------------- Description: Currently we compute column statistics by relying on the {{compute_stats}} UDAF. For instance, for a given table {{tbl}}, the query to compute statistics for columns is translated internally into: {code} SELECT compute_stats(c1), compute_stats(c2), ... FROM tbl; {code} {{compute_stats}} produces data for the stats available for each column type, e.g., struct<"max":long,"min":long,"countnulls":long,...>. This issue is to produce a query that relies purely on SQL functions instead: {code} SELECT max(c1), min(c1), count(case when c1 is null then 1 else null end), ... FROM tbl; {code} This will allow us to deprecate the {{compute_stats}} UDAF since it mostly duplicates functionality found in those other functions. Additionally, many of those functions already provide a vectorized implementation so the approach can potentially improve the performance of column stats collection. was: Currently we compute column statistics by relying on the {{compute_stats}} UDAF. For instance, for a given table {{tbl}}, the query to compute statistics for columns is translated internally into: {code} SELECT compute_stats(c1), compute_stats(c2), ... FROM tbl; {code} {{compute_stats}} produces data for the stats available for each column type, e.g., struct<"max":long,"min":long,"countnulls":long,...>. This issue is to produce a query that relies purely on SQL functions instead: {code} SELECT max(c1), min(c1), count(case when c1 is null then 1 else null end), ... FROM tbl; {code} This will allow us to deprecate the {{compute_stats}} UDAF since it mostly duplicates functionality found in those other functions. Additionally, many of those functions already provide a vectorized implementation so the approach could potentially improve the performance of column stats collection. > Use SQL functions instead of compute_stats UDAF to compute column statistics > ---------------------------------------------------------------------------- > > Key: HIVE-23530 > URL: https://issues.apache.org/jira/browse/HIVE-23530 > Project: Hive > Issue Type: Improvement > Components: Statistics > Reporter: Jesus Camacho Rodriguez > Assignee: Jesus Camacho Rodriguez > Priority: Major > Attachments: HIVE-23530.patch > > > Currently we compute column statistics by relying on the {{compute_stats}} > UDAF. For instance, for a given table {{tbl}}, the query to compute > statistics for columns is translated internally into: > {code} > SELECT compute_stats(c1), > compute_stats(c2), > ... > FROM tbl; > {code} > {{compute_stats}} produces data for the stats available for each column type, > e.g., struct<"max":long,"min":long,"countnulls":long,...>. > This issue is to produce a query that relies purely on SQL functions instead: > {code} > SELECT max(c1), min(c1), count(case when c1 is null then 1 else null end), > ... > FROM tbl; > {code} > This will allow us to deprecate the {{compute_stats}} UDAF since it mostly > duplicates functionality found in those other functions. Additionally, many > of those functions already provide a vectorized implementation so the > approach can potentially improve the performance of column stats collection. -- This message was sent by Atlassian Jira (v8.3.4#803005)