在java spark数据集中,将十进制负数转换为正数



我有下面的数据帧。

column_1
2.1
-3.4
-1.1
2.5

当值小于0时,或者换句话说,如果值为负值,我希望将此列转换为正数列。输入为十进制格式,输出也应为十进制格式。

我尝试转换为字符串,并在lt(0(时使用abs(column_1(,然后将其强制转换为十进制。但是所有的值都被转换为null。

任何关于如何在Java spark中实现这一点的想法。

所需输出:

column_1
2.1
3.4
1.1
2.5

您可以简单地使用abs,它在Pyspark中通过函数包[Docs]提供,也可以通过SQL API[Docs]使用。

Pyspark

from pyspark.sql import functions as F
df = df.withColumn('column_1', F.abs('column_1')

Spark SQL

SELECT abs(column_1)
FROM df;

最新更新