3.0确保一致性在统计函数之间的火花,火花3.1及以上

下面的砖运行时7.3 LTS和统计功能返回NaN除以零发生时。设置一个火花配置返回null。

写的chetan.kardekar

去年发表在:2022年10月14日

问题

统计功能covar_samp,峰度,偏态,性病,stddev,stddev_samp,方差,var_samp,还当一个维由零ivide发生在砖运行时的7.3 LTS表达式求值。相同的函数返回在砖运行时9.1 LTS以上,以及砖SQL的端点在表达式求值除以零发生时。

这个示例图像显示当砖运行时上运行7.3 LTS样本结果。在除以零发生的情况下,结果是作为南返回。

这个示例图像显示当砖运行时上运行9.1 LTS样本结果。在除以零发生的情况下,返回的结果是零。

导致

行为的变化是由于潜在的变化在Apache火花。

在火花3.0及以下,默认行为返回NaN除以零发生时同时评估统计功能。

在火花3.1这是改变返回零除以零发生时同时评估统计功能。

在改变的更多信息,请检查火花公关(火星- 13860)

解决方案

spark.sql.legacy.statisticalAggregate在你的火花配置(AWS|Azure|GCP运行时7.3 LTS)集群运行砖。

这返回null代替南当除以零出现在评估一个统计函数。

删除

信息

你也可以设置这个值在笔记本使用spark.conf.set (“spark.sql.legacy。statisticalAggregate”、“假”)如果你没有编辑集群的能力火花配置



这篇文章有用吗?