Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
Joins projecting Decimal64 have a suspicious cast in the inner loop
ConvertDecimal64ToDecimal(col 14:decimal(7,2)/DECIMAL_64) -> 24:decimal(7,2)'
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;
' 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]'