spark中的isNullOrEmpty函数检查数据框中的列是不是为空或空字符串
Posted
技术标签:
【中文标题】spark中的isNullOrEmpty函数检查数据框中的列是不是为空或空字符串【英文标题】:isNullOrEmpty function in spark to check column in data frame is null or empty stringspark中的isNullOrEmpty函数检查数据框中的列是否为空或空字符串 【发布时间】:2021-09-18 18:17:02 【问题描述】:如何检查数据框的列是否为空或空 ins spark。
例如
type IdentifiedDataFrame = SourceIdentfier, DataFrame
def splitRequestIntoDFsWithAndWithoutTransactionId(df: DataFrame) : Seq[IdentifiedDataFrame] =
seq((DeltaTableStream(RequestWithTransactionId), df.filter(col(RequestLocationCodeColName).isNull
&& col(ServiceNumberColName).isNull
&& col(DateOfServiceColName).isNull
&& col(TransactionIdColName).isNotNull)).
(DeltaTableStream(RequestWithoutTransactionId), df.filter(col(RequestLocationCodeColName).isNotNull
&& col(ServiceNumberColName).isNotNull
&& col(DateOfServiceColName).isNotNull))
)
注意:此代码仅检查列中的空值,我想同时检查空字符串或空字符串 请帮忙
【问题讨论】:
【参考方案1】:您可以使用isNull
函数并使用filter
来检查空字符串,如下所示
val columns = List("column1", "column2")
val filter = columns.map(c => isnull(col(c)) || !(col(c) <=> lit("")))
.reduce(_ and _)
df.filter(filter)
【讨论】:
嗨 Koirala,我在使用 isNull 的地方粘贴了主代码,但现在我必须创建函数并使用 isNullOrEmpty 而不是 isNull,请您帮忙 但这不是你原来的问题,而且标题与内容不符 哦,你能帮帮我吗 我想用 isNullOrEmpty 代替 isNull,用 isNotNullOrEmpty 代替 isNotNull 我是开发新手,我需要这样做。如果你能帮助我,这将非常有帮助以上是关于spark中的isNullOrEmpty函数检查数据框中的列是不是为空或空字符串的主要内容,如果未能解决你的问题,请参考以下文章
(49)C#里String.IsNullOrEmpty()和String.IsNullOrWhiteSpace()的区别
(49)C#里String.IsNullOrEmpty()和String.IsNullOrWhiteSpace()的区别
我应该用啥来比较 DBNull ?使用 DBNull.Value 或 ToString().IsNullOrEmpty()