scala - 使用 withColumns 创建派生列时的“空”列
问题描述
在我的数据框中,我有一个名为parent_asset_xid
.
我想创建一个新列parent_asset_sk
,它将是md5(parent_asset_xid)
或00000000-0000-0000-0000-000000000000
如果parent_asset_xid
是null
。
我正在尝试这样的事情,但我不确定如何将md5
部分集成到这个
mydf.withColumn(
"parent_asset_sk",
when($"parent_asset_xid".isnull, "00000000-0000-0000-0000-000000000000")
)
解决方案
你已经涵盖了大部分内容,你只需要添加一个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"))
)
推荐阅读
- angular - TypeError:使用从一页到另一页的信息时,未定义不是对象
- django - 带有 HAPROXY -Session cookie 设置的 Django - set_cookie('haproxy_cookie_name, 'new_value') 没有设置新值
- python - 从具有相同键的多个字典中获取值
- python - SOAP 请求失败并出现错误验证消息的安全性时发生错误
- android - 带有 ConstraintLayout 指南的 ScrollView 不起作用
- docker - 为 Dockerfile 的最终 CMD 步骤创建中间容器和新图像快照的优势是什么
- python - 如何避免缩小的lmplot中的回归线截断?
- c# - 使用c#将多页pdf转换为多页tiff
- wordpress - 无法将新部分添加到 wordpress 上的现有页面
- r - R Shiny - 如何更改循环中创建的所有滑块输入的颜色?