[ https://issues.apache.org/jira/browse/HIVE-21437?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Attila Magyar updated HIVE-21437: --------------------------------- Status: Patch Available (was: Open) > Vectorization: Decimal64 division with integer columns > ------------------------------------------------------ > > Key: HIVE-21437 > URL: https://issues.apache.org/jira/browse/HIVE-21437 > Project: Hive > Issue Type: Bug > Components: Vectorization > Affects Versions: 4.0.0 > Reporter: Gopal V > Assignee: Attila Magyar > Priority: Major > Labels: pull-request-available > Attachments: HIVE-21437.1.patch, HIVE-21437.2.patch, > HIVE-21437.3.patch, HIVE-21437.4.patch > > Time Spent: 10m > Remaining Estimate: 0h > > Vectorizer fails for > {code} > CREATE temporary TABLE `catalog_Sales`( > `cs_quantity` int, > `cs_wholesale_cost` decimal(7,2), > `cs_list_price` decimal(7,2), > `cs_sales_price` decimal(7,2), > `cs_ext_discount_amt` decimal(7,2), > `cs_ext_sales_price` decimal(7,2), > `cs_ext_wholesale_cost` decimal(7,2), > `cs_ext_list_price` decimal(7,2), > `cs_ext_tax` decimal(7,2), > `cs_coupon_amt` decimal(7,2), > `cs_ext_ship_cost` decimal(7,2), > `cs_net_paid` decimal(7,2), > `cs_net_paid_inc_tax` decimal(7,2), > `cs_net_paid_inc_ship` decimal(7,2), > `cs_net_paid_inc_ship_tax` decimal(7,2), > `cs_net_profit` decimal(7,2)) > ; > explain vectorization detail select max((((cs_ext_list_price - > cs_ext_wholesale_cost) - cs_ext_discount_amt) + cs_ext_sales_price) / 2) from > catalog_sales; > {code} > {code} > ' Map Vectorization:' > ' enabled: true' > ' enabledConditionsMet: > hive.vectorized.use.vectorized.input.format IS true' > ' inputFileFormats: > org.apache.hadoop.hive.ql.io.orc.OrcInputFormat' > ' notVectorizedReason: SELECT operator: Could not instantiate > DecimalColDivideDecimalScalar with arguments arguments: [21, 20, 22], > argument classes: [Integer, Integer, Integer], exception: > java.lang.IllegalArgumentException: java.lang.ClassCastException@63b56be0 > stack trace: > sun.reflect.GeneratedConstructorAccessor<omitted>.newInstance(Unknown > Source), > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45), > java.lang.reflect.Constructor.newInstance(Constructor.java:423), > org.apache.hadoop.hive.ql.exec.vector.VectorizationContext.instantiateExpression(VectorizationContext.java:2088), > > org.apache.hadoop.hive.ql.optimizer.physical.Vectorizer.fixDecimalDataTypePhysicalVariations(Vectorizer.java:4662), > > org.apache.hadoop.hive.ql.optimizer.physical.Vectorizer.fixDecimalDataTypePhysicalVariations(Vectorizer.java:4602), > > org.apache.hadoop.hive.ql.optimizer.physical.Vectorizer.vectorizeSelectOperator(Vectorizer.java:4584), > > org.apache.hadoop.hive.ql.optimizer.physical.Vectorizer.validateAndVectorizeOperator(Vectorizer.java:5171), > > org.apache.hadoop.hive.ql.optimizer.physical.Vectorizer.doProcessChild(Vectorizer.java:923), > > org.apache.hadoop.hive.ql.optimizer.physical.Vectorizer.doProcessChildren(Vectorizer.java:809), > > org.apache.hadoop.hive.ql.optimizer.physical.Vectorizer.validateAndVectorizeOperatorTree(Vectorizer.java:776), > > org.apache.hadoop.hive.ql.optimizer.physical.Vectorizer.access$2400(Vectorizer.java:240), > > org.apache.hadoop.hive.ql.optimizer.physical.Vectorizer$VectorizationDispatcher.validateAndVectorizeMapOperators(Vectorizer.java:2038), > > org.apache.hadoop.hive.ql.optimizer.physical.Vectorizer$VectorizationDispatcher.validateAndVectorizeMapOperators(Vectorizer.java:1990), > > org.apache.hadoop.hive.ql.optimizer.physical.Vectorizer$VectorizationDispatcher.validateAndVectorizeMapWork(Vectorizer.java:1963), > ...' > ' vectorized: false' > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)