希望我是愚蠢的,这会很容易。
我有一个包含“url”和“referrer”列的数据框。
我想提取包含顶级域“www.mydomain.com”和“mydomain.co”的所有引用。
我可以用
val filteredDf = unfilteredDf.filter(($"referrer").contains("www.mydomain."))
但是,出于某种原因,这会提取出也包含我的网络域的网址 www.google.co.uk 搜索网址。有没有办法,在 spark 中使用 scala,我可以过滤掉任何包含 google 的内容,同时保持我拥有的正确结果?
谢谢
院长
最佳答案
您可以使用 not
否定谓词或 !
所以剩下的就是添加另一个条件:
import org.apache.spark.sql.functions.not
df.where($"referrer".contains("www.mydomain.") &&
not($"referrer".contains("google")))
或单独的过滤器:
df
.where($"referrer".contains("www.mydomain."))
.where(!$"referrer".contains("google"))
关于scala - 有没有办法使用scala过滤 Spark 数据框中不包含某些内容的字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33608526/