You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Teddy Choi (JIRA)" <ji...@apache.org> on 2019/03/08 03:53:00 UTC

[jira] [Issue Comment Deleted] (HIVE-21368) Vectorization: Unnecessary Decimal64 -> HiveDecimal conversion

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

Teddy Choi updated HIVE-21368:
------------------------------
    Comment: was deleted

(was: I found following code in Vectorizer.java. It was reverted in commit 470ba3e2835ef769f940d013acbe6c05d9208903 by McMcline in 2018-08-16 to revert HIVE-20315. I don't know why it was reverted.

{code:java}
    // For now, we don't support joins on or using DECIMAL_64.
    VectorExpression[] allBigTableValueExpressions =
        vContext.getVectorExpressionsUpConvertDecimal64(bigTableExprs);
{code})

> Vectorization: Unnecessary Decimal64 -> HiveDecimal conversion
> --------------------------------------------------------------
>
>                 Key: HIVE-21368
>                 URL: https://issues.apache.org/jira/browse/HIVE-21368
>             Project: Hive
>          Issue Type: Bug
>            Reporter: Gopal V
>            Assignee: Teddy Choi
>            Priority: Major
>
> Joins projecting Decimal64 have a suspicious cast in the inner loop
> {code}
> ConvertDecimal64ToDecimal(col 14:decimal(7,2)/DECIMAL_64) -> 24:decimal(7,2)'
> {code}
> {code}
> create temporary table foo(x int , y decimal(7,2));
> create temporary table bar(x int , y decimal(7,2));
> set hive.explain.user=false;
> explain vectorization detail select sum(foo.y) from foo, bar where foo.x = bar.x;
> {code}
> {code}
> '                      Map Join Operator'
> '                        condition map:'
> '                             Inner Join 0 to 1'
> '                        keys:'
> '                          0 _col0 (type: int)'
> '                          1 _col0 (type: int)'
> '                        Map Join Vectorization:'
> '                            bigTableKeyColumnNums: [0]'
> '                            bigTableRetainedColumnNums: [3]'
> '                            bigTableValueColumnNums: [3]'
> '                            bigTableValueExpressions: ConvertDecimal64ToDecimal(col 1:decimal(7,2)/DECIMAL_64) -> 3:decimal(7,2)'
> '                            className: VectorMapJoinInnerBigOnlyLongOperator'
> '                            native: true'
> '                            nativeConditionsMet: hive.mapjoin.optimized.hashtable IS true, hive.vectorized.execution.mapjoin.native.enabled IS true, hive.execution.engine tez IN [tez, spark] IS true, One MapJoin Condition IS true, No nullsafe IS true, Small table vectorizes IS true, Fast Hash Table and No Hybrid Hash Join IS true'
> '                            projectedOutputColumnNums: [3]'
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)