如果值包含在scala spark的列表中,如何筛选行?
例如,我想使用列表过滤spark数据帧如果值包含在scala spark的列表中,如何筛选行?,scala,apache-spark,Scala,Apache Spark,例如,我想使用列表过滤spark数据帧 var lisst=List(1,2,34) df.filter(col("id).isin(lisst)) 给出错误 Unsupported literal type classscala.collection.immutable.$colon$colon List(1,2,34) 我尝试了Seq和Set,得到了相同的错误。您可以使用isin函数,如下所示 var lisst=List(1,2,34) df.filter(col("id").is
var lisst=List(1,2,34)
df.filter(col("id).isin(lisst))
给出错误
Unsupported literal type classscala.collection.immutable.$colon$colon
List(1,2,34)
我尝试了
Seq
和Set
,得到了相同的错误。您可以使用isin
函数,如下所示
var lisst=List(1,2,34)
df.filter(col("id").isin(lisst :_*))
希望这有帮助 您必须展开列表:)
嘿,是否有类似于“不在”的东西?您可以简单地使用NOT()函数。或在上面的例子中,结果的倒数是:
df.filter(!col(“id”).isin(lisst:*)
?
import org.apache.spark.sql.functions._
var lisst=List(1,2,34)
df.filter(col("id).isin(lisst:_*)).show()