11

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

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

但这不起作用。正确的方法是什么?

4

1 回答 1

37

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

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

match不起作用的主要原因是因为DataFrame有两个过滤器函数,它们采用字符串或列。这与RDD将函数从布尔值获取的过滤器不同。T

于 2015-11-27T22:05:53.793 回答