bwzheng2010 opened a new pull request, #4648:
URL: https://github.com/apache/hive/pull/4648

   [HIVE-27553](https://issues.apache.org/jira/browse/HIVE-27553): Fix After 
upgrading from Hive1 to Hive3, Decimal computation experiences a loss of 
precision
   
   ### What changes were proposed in this pull request?
   I would like to introduce a configuration parameter, 
hive.sql.decimalOperations.allowPrecisionLoss, to effectively tackle this issue.
   By default, its value is set to true, thereby embracing the new behavior as 
described in [HIVE-15331](https://issues.apache.org/jira/browse/HIVE-15331).
   Alternatively, if it is set to false, Hive will adhere to the previous 
rules, as elaborated in 
[HIVE-27553](https://issues.apache.org/jira/browse/HIVE-27553).
   
   This solution takes its cues from Spark's methodology, as extensively 
outlined in the [Spark SQL Migration Guide 
](https://spark.apache.org/docs/2.4.0/sql-migration-guide-upgrade.html#upgrading-from-spark-sql-22-to-23)for
 the transition from version 2.2 to 2.3 .
   
   ### Why are the changes needed?
   The purpose of resolving this issue is to assist those who intend to upgrade 
from Hive 1.0 to 3.0.
   They may encounter discrepancies in decimal computation behavior between 
versions. By means of this configuration, compatibility with the previous 
computation behavior can be ensured.
   
   ### Does this PR introduce any user-facing change?
   When the hive.sql.decimalOperations.allowPrecisionLoss parameter is utilized 
with its default configuration, it does not have any user-facing implications.
   If this parameter is changed to false, This impact is : decimal computations 
will be performed using the computation methodology of Hive 1.0.
   
   ### Is the change a dependency upgrade?
   No
   
   ### How was this patch tested?
   
org.apache.hadoop.hive.ql.udf.generic.TestGenericUDFOPDivide#testDecimalDivisionResultTypeNotAllowLoss
   
org.apache.hadoop.hive.ql.udf.generic.TestGenericUDFOPMinus#testDecimalMinusResultType
   
org.apache.hadoop.hive.ql.udf.generic.TestGenericUDFOPMinus#testDecimalMinusResultTypeNotAllowLoss
   
org.apache.hadoop.hive.ql.udf.generic.TestGenericUDFOPMultiply#testDecimalMultiplyResultType
   
org.apache.hadoop.hive.ql.udf.generic.TestGenericUDFOPMultiply#testDecimalMultiplyResultTypeNotAllowLoss
   
org.apache.hadoop.hive.ql.udf.generic.TestGenericUDFOPPlus#testDecimalPlusResultType
   
org.apache.hadoop.hive.ql.udf.generic.TestGenericUDFOPPlus#testDecimalPlusResultType


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org
For additional commands, e-mail: gitbox-h...@hive.apache.org

Reply via email to