2017-07-17 1 views
2

Dataframeのisinに似たリスト内の要素を使用して、配列バッファをフィルタリングしようとしています。除外リストを使用してRDDの要素をフィルタリングする方法(isinに似ています)?

val booksDF: DataFrame = ... 
val Books_Category = List("A","B","C") 
val action_books = booksDF.filter($"bk_category_cd" isin (Books_Category: _*)) 

RDDでコレクションを使用して同じフィルタを適用するにはどうすればよいですか?

答えて

2

RDDでは、filterのリストに対してcontainsメソッドを使用できます。あなたはこれが

をもたらすべきである

val filteredRDD = df.rdd.filter(x=>Books_Category.contains(x(0))) 
filteredRDD.foreach(println) 

としてrddcontainsを使用することができます

val Books_Category = List("A","B","C") 

としてdataframe

よう
+-----+ 
|books| 
+-----+ 
|A | 
|D | 
|B | 
+-----+ 

とリストを持っていると仮定

RDD自体は同じことを

[A] 
[B] 

同じ

たちは

val filteredRDD = rdd.filter(x => list.contains(x)) 
filteredRDD.foreach(println) 

上で行ったように、我々が次にやっ

val rdd = sc.parallelize(Seq("A", "D", "B", "E", "F")) 
val list = List("A","B","C") 

ようfilterからRDDlistをしたともあります結果は

A 
B 
関連する問題