我正在尝试使用类似于isin
Dataframe中的列表中的元素来过滤arraybuffer。
val booksDF: DataFrame = ...
val Books_Category = List("A","B","C")
val action_books = booksDF.filter($"bk_category_cd" isin (Books_Category: _*))
如何在RDD上使用集合应用相同的过滤器?
在RDD中,您可以使用contains
方法将列表filter
移出。
假设你有dataframe
喜欢
+-----+
|books|
+-----+
|A |
|D |
|B |
+-----+
并列为
val Books_Category = List("A","B","C")
您可以使用contains
在rdd
如
val filteredRDD = df.rdd.filter(x=>Books_Category.contains(x(0)))
filteredRDD.foreach(println)
这应该导致
[A]
[B]
RDD
本身做的也一样
假设我们有RDD
和list
来filter
作为
val rdd = sc.parallelize(Seq("A", "D", "B", "E", "F"))
val list = List("A","B","C")
然后像上面一样做
val filteredRDD = rdd.filter(x => list.contains(x))
filteredRDD.foreach(println)
会导致
A
B
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句