使用withColumns创建派生列时,“空”列

时间:2018-12-18 17:04:53

标签: scala dataframe

在数据框中,我有一列名为parent_asset_xid

我想创建一个新列parent_asset_sk,如果md5(parent_asset_xid)00000000-0000-0000-0000-000000000000,则该列将为parent_asset_xidnull

我正在尝试类似的操作,但不确定如何将md5部分集成到此

mydf.withColumn(
  "parent_asset_sk",
  when($"parent_asset_xid".isnull, "00000000-0000-0000-0000-000000000000")
)

1 个答案:

答案 0 :(得分:0)

您已了解了大部分内容,只需向您otherwise添加一个when

val newDF = yourDF.withColumn(
  "parent_asset_sk",
  when(
    col("parent_asset_xid").isNotNull, 
    md5(col("parent_asset_xid"))
  ).otherwise(lit("00000000-0000-0000-0000-000000000000"))
)