ADF数据流中的Sum聚合在处理小数值时会存在精度误差,例如将0.1和0.2相加得到0.30000000000000004的结果。但是我们可以通过在数据流中添加Round函数来解决这个问题。
在数据流中选择需要进行Sum聚合的小数列,添加Derived Column转换器,并在Expression中使用Round函数将小数列四舍五入到指定的小数位数,示例如下:
Round(columnName, 2)
此代码示例中,设置小数位数为2。然后再在Sum转换器中对经过Round函数处理后的小数列聚合即可。
经过这样的处理,就可以避免Sum聚合时出现的精度误差问题。