hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Teddy Choi (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HIVE-21368) Vectorization: Unnecessary Decimal64 -> HiveDecimal conversion
Date Fri, 08 Mar 2019 03:52:00 GMT

    [ https://issues.apache.org/jira/browse/HIVE-21368?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16787498#comment-16787498
] 

Teddy Choi commented on HIVE-21368:
-----------------------------------

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)

Mime
View raw message