2017-07-03 7 views
0

私は以下のようにデータを持っている従業員のファイルがあります。Apache sparkのフィル​​タ関数に引数を動的に渡すには?

Name: Age: 
David 25 
Jag  32 
Paul 33 
Sam  18 

私はApacheの火花でdataframeにロードされ、私は以下のように値をフィルタリングしています:

employee_rdd=sc.textFile("employee.txt") 
employee_df=employee_rdd.toDF() 
employee_data = employee_df.filter("Name = 'David'").collect() 
+-----------------+-------+ 
|   Name:| Age:| 
+-----------------+-------+ 
|David   |25  | 
+-----------------+-------+ 

しかし、私がしようとしているときに

emp_Name='Sam'と以下のようにフィルタリングするために、この名前を渡す:

このような何かを行います

これは私に空のリストを与えています

私は上記のようなフィルタ機能に値を渡すことができます助けてください。

+2

試し 'employee_data = employee_df.filter( "名前= $ {EMP_NAME}")のiがあるはず –

+0

こんにちはラメシュMaharjanをcollect'。 doubleは 'employee_data = employee_df.filter(" Name == $ {emp_Name} ")と等しくなります。collect' – Rahul

+0

も前にこれを試した動作していない –

答えて

1

これはScalaで行うことができますが、それはこのことができます

val emp_name = "Sam" 

val employee_data = employee_df.filter(col("Name") === emp_name) 

希望をPythonのように変更することができます!

-1

次のことを試してみてください。

emp_Name='Sam' 
employee_data = employee_df.filter(employee_df["Name"] == emp_Name).collect() 
関連する問題