首页 > 解决方案 > Spark 中的动态 IIF

问题描述

我有一个元数据驱动的 Spark 转换引擎。它对存储在 Scala Map[String, DataFrame] 中的数据帧执行一组操作。我有一个场景,用户要实现 IIF(三元 if):

if(<condition>,<iftrue>,<iffalse>)
if(cola=1,to_date(colb),null)

我的方法:我正在使用 where 子句来评估和 UDF 以返回并执行任何类似的函数(to_date.to_decimal 等)。对于上面的代码:

dfMap(source).where(<condn>).withColumn("<tarCol>",CustomUDF(<iftrue>))

我读过 UDF 会影响 Spark 的性能,我也面临同样的问题。请建议任何替代方案。

标签: scalaapache-spark

解决方案


推荐阅读