Apache spark 将java spark数据集中的负十进制数转换为正十进制数
我有下面的数据框Apache spark 将java spark数据集中的负十进制数转换为正十进制数,apache-spark,Apache Spark,我有下面的数据框 column_1 2.1 -3.4 -1.1 2.5 我想在值小于0时将此列转换为正数列,或者换言之,如果其值为负值,则将其转换为正数列。输入为十进制格式,输出也应为十进制格式 我尝试转换为字符串,在lt(0)时使用abs(列_1),然后将其转换为十进制。但所有值都将转换为null 你知道如何在JavaSpark中实现这一点吗 所需输出: column_1 2.1 3.4 1.1 2.5 您只需使用abs,它在Pyspark中通过函数包提供,但也可以通过SQL API使用
column_1
2.1
-3.4
-1.1
2.5
我想在值小于0时将此列转换为正数列,或者换言之,如果其值为负值,则将其转换为正数列。输入为十进制格式,输出也应为十进制格式
我尝试转换为字符串,在lt(0)时使用abs(列_1),然后将其转换为十进制。但所有值都将转换为null
你知道如何在JavaSpark中实现这一点吗
所需输出:
column_1
2.1
3.4
1.1
2.5
您只需使用
abs
,它在Pyspark中通过函数包提供,但也可以通过SQL API使用
皮斯帕克
从pyspark.sql导入函数为F
df=df.withColumn('column_1',F.abs('column_1'))
sparksql
选择abs(第1列)
来自df;
这应该可以工作:df.select(abs('column_1')。alias('column_1')).show()
(从spark sql的函数导入abs
)时,abs()的输出仍然是十进制格式吗?还是转换为浮点格式?