impala运行sql文件无法正确转换为decimal(没有四舍五入)

一次迁移发现,生产和测试的结果不太一样,生产用的impala,测试用hive,同一个值,在转换为decimal(8,2)时,impala没有四舍五入,hive有,查看日志发现impala出现了警告:

WARNINGS: UDF WARNING: String to Decimal parse failed
UDF WARNING: String to Decimal parse failed

查了很久才发现是因为impala配置文件里配置了DECIMAL_V2=FALSE使用hue测试了一下

SET DECIMAL_V2=FALSE;
select cast(nvl(cast('111.7876735' as double),0) as decimal(8,2))

结果是111.78,而不是111.79。但是impala里不配置这个参数就会报错,看到的可以检查检查,或许新版本就解决了呢。

你可能感兴趣的:(Hive,一些错误,sql,hive,hadoop)