2016-04-26 6 views
0

は、あなたがこのようなDF持って想像:ApacheのスパークDATAFRAME:df.where()は、Javaで:List属性

a b 
1 1 
1 2 
1 3 
2 1 
2 2 
2 3 

を、あなたは一般的な.whereのfunctionnalityを実装したいです。 はどのようにリスト

val l1:List[Int] = List (1,2) 
df.where($"b" === l1:_*) // does not work 

によってフィルタリングすることができ、あるいは、あなたがこのようSTHを頼むことができるオプションがあります:

df.where($"a" === l1:_* && $"b" === l1:_*) 

答えて

2

を、私はあなたが正しい、あなたがセマンティクスIN をしたい持っている場合:

df.where($"b" isin (l1: _*)).show() 
+---+---+ 
| a| b| 
+---+---+ 
| 1| 1| 
| 1| 2| 
| 2| 1| 
| 2| 2| 
+---+---+ 

そして

df.where(($"a" isin (l1: _*)) and ($"b" isin (l1: _*))).show() 
+---+---+ 
| a| b| 
+---+---+ 
| 1| 1| 
| 1| 2| 
| 2| 1| 
| 2| 2| 
+---+---+ 
関連する問題