精度差异点:
常量解析不一致
对小数常量(如 0.1 ), Hive解析完之后是double
类型; Spark解析完之后是decimal类型
影响: Hive返回是按double类型返回, 而Spark返回是decimal, 从而精度存在差异
丢失精度
在除法运算中, 可以设置参数
set spark.sql.decimalOperations.allowPrecisionLoss=false
来保持, Spark 和 Hive行为一致.
但对于常量值, Spark和Hive依然存在解析差异.
本文作者:
Jeff.R
本文链接: https://stefanxiepj.github.io/archives/3d462a4f.html
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!
本文链接: https://stefanxiepj.github.io/archives/3d462a4f.html
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!