Gopal V created HIVE-21437:
------------------------------
Summary: Vectorization: Decimal division with integer columns
Key: HIVE-21437
URL: https://issues.apache.org/jira/browse/HIVE-21437
Project: Hive
Issue Type: Bug
Components: Vectorization
Reporter: Gopal V
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)