在 Scala 中使用正则表达式和 Spark 过滤 DataFrame

filter DataFrame with Regex with Spark in Scala

我想过滤掉 Spark DataFrame 中具有看起来像真实电子邮件列的行,这是我尝试过的:

df.filter($"Email" match {case ".*@.*".r => true case _ => false})

但这行不通。正确的做法是什么?

要扩展@TomTom101 的评论,您要查找的代码是:

df.filter($"Email" rlike ".*@.*")

match 不起作用的主要原因是因为 DataFrame 有两个 filter functions which take either a String or a Column. This is unlike RDD with one filter 接受从 T 到布尔值的函数。