【发布时间】:2023-03-15 18:26:02
【问题描述】:
我想像这样使用ROUND 函数:
CAST(ROUND(CostAmt,ISNULL(CurrencyDecimalPlaceNum)) AS decimal(32,8))
在 pyspark 中。
在 Dataframe 和 SQL 中,ROUND 函数将第一个参数作为 col,第二个参数作为 int 数字,但我想将第二个参数作为另一列传递。
如果我尝试将第二个参数用作 col,则会给出错误 column is not callable。
Pyspark 代码:
round(
col("CostAmt"),
coalesce(col("CurrencyDecimalPlaceNum").cast(IntegerType()), lit(2)),
).cast(DecimalType(23, 6))
如何解决这个问题?
【问题讨论】:
标签: python apache-spark hadoop pyspark apache-spark-sql