[ 
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)

Reply via email to