hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Remus Rusanu (JIRA)" <>
Subject [jira] [Commented] (HIVE-6508) Mismatched results between vector and non-vector mode with decimal field
Date Thu, 06 Mar 2014 11:00:43 GMT


Remus Rusanu commented on HIVE-6508:

The value 0 comes in the input vector unscaled (scale 0). As aggregates (SUM, STDxx) are being
updated, they us the scale of the input value, not the scale of the input column. So any 0
in the input will round the intermediate fractional part of the intermediate. Final result
is off. AVG uses a special scale so is not affected. MIN/MAX use the input value scale, but
has no side effects. Fix is to pass in the column scale explictly, rather than assume the
input value scale has the column scale. Ultimately the behavior of passing in unscaled 0s
is wrong, but this comes from the row-mode join modus-operandi and I don't want to change
that. Hardening the aggregates against this case is more robust.

> Mismatched results between vector and non-vector mode with decimal field
> ------------------------------------------------------------------------
>                 Key: HIVE-6508
>                 URL:
>             Project: Hive
>          Issue Type: Bug
>          Components: Query Processor
>    Affects Versions: 0.13.0
>            Reporter: Remus Rusanu
>            Assignee: Remus Rusanu
> Following query has a little mismatch in result as compared to the non-vector mode.
> {code}
> select d_year, i_brand_id, i_brand,
>        sum(ss_ext_sales_price) as sum_agg
> from date_dim
> join store_sales on date_dim.d_date_sk = store_sales.ss_sold_date_sk
> join item on store_sales.ss_item_sk = item.i_item_sk
> where i_manufact_id = 128
>   and d_moy = 11
> group by d_year, i_brand, i_brand_id
> order by d_year, sum_agg desc, i_brand_id
> limit 100;
> {code}
> This query is on tpcds data.
> The field ss_ext_sales_price is of type decimal(7,2) and everything else is an integer.

This message was sent by Atlassian JIRA

View raw message