如果列为NULL,如何在Spark中设置默认值?

时间:2018-12-24 15:28:46

标签: scala apache-spark

我正打算在Spark Framework中加入2个DataFrame。

val final = mf1.join(mf2,mf1("KEY")===mf2("MOBILE_KEY"), "left").select(
        mf1("*"),
        mf2("MOBILE_TYPE")
    )
)

下一个代码可以工作,但是将null列中的MOBILE_TYPE值返回到某些记录。 如果列为空值,如何设置默认值?

1 个答案:

答案 0 :(得分:1)

val final = mf1.join(mf2,mf1("KEY")===mf2("MOBILE_KEY"), "left").select(
        mf1("*"),
        mf2("MOBILE_TYPE")
    )
).withColumn("MOBILE_TYPE",when(col("MOBILE_TYPE").isNull,"DEFAULt_VALUE").otherwise(col("MOBILE_TYPE")))

withColumnwhen API可以正常工作。