Scala 中 Select 语句中的 Math.abs 函数

ilp*_*ina 2 scala bigdata dataframe apache-spark

我在 Scala 中有以下代码:

val FilteredPSPDF = PSPDF.select("accountname","amount", "currency", "datestamp","orderid","transactiontype")
Run Code Online (Sandbox Code Playgroud)

但是,我在“金额”列中有一些值为负的值,我需要将它们更改为正值。是否可以在 Select 语句中执行此算术函数?我该怎么做?

phi*_*ert 5

absSpark SQL 中有一个可用的函数

您可以使用selectExpr代替select

PSPDF.selectExpr("accountname","abs(amount) as amount", "currency", "datestamp","orderid","transactiontype")
Run Code Online (Sandbox Code Playgroud)

或使用select采用列类型的重载版本:

 PSPDF.select($"accountname", abs($"amount").as("amount"), $"currency", $"datestamp", $"orderid", $"transactiontype")
Run Code Online (Sandbox Code Playgroud)