小编Cho*_*ops的帖子

按值过滤数据帧不存在于其他数据帧的列中

用这一个敲我的脑袋,我怀疑答案很简单.给定两个数据帧,我想过滤第一列,其中一列中的值不存在于另一个数据帧的列中.

我想这样做而不需要使用完整的Spark SQL,所以只使用DataFrame.filter,或Column.contains或"isin"关键字,或其中一个连接方法.

val df1 = Seq(("Hampstead", "London"), 
              ("Spui", "Amsterdam"), 
              ("Chittagong", "Chennai")).toDF("location", "city")
val df2 = Seq(("London"),("Amsterdam"), ("New York")).toDF("cities")

val res = df1.filter(df2("cities").contains("city") === false)
// doesn't work, nor do the 20 other variants I have tried
Run Code Online (Sandbox Code Playgroud)

有人有任何想法吗?

scala apache-spark apache-spark-sql spark-dataframe

3
推荐指数
2
解决办法
4836
查看次数