2016-11-06 9 views
-3

こんにちは、以下のクエリで助けてください。 私はScalaコレクションリスト 'students'を持っているスカラコードを以下のように作成しています。ここでScalaコレクション

List(
    students(Rajesh, 21, branch1, sem1), 
    students(Kamal, 25, branch2, sem2), 
    students(Kavitha, 23, branch3, sem3) 
) 

学生が

case class students(name:String, age:Int, branchname:String, semname: String) 

のようなケースクラスは、今私の要件は、特定のブランチの名前を取得することです。どうすればそれを得ることができますか?

私は.toDF()を使ってScalaリストの生徒をデータフレームに変換し、whereの条件を書いて適切な行を読み、値を取得できます。

しかし、このケースではデータが非常に小さいので、純粋なスカラコレクションListを使用したいと思います。

誰でも同じことを助けてください。

+0

が明確に定義されていると仮定すると、してください、次のように火花が必要な理由を、あなたはすべての非常に簡単にこれを行うことができます言及していないあなたの質問、この例のデータについてどのような結果べきのように見える。あなたは特定の支部で学生の名前のリストを取得したいですか?また、スパークは本当にここで関連していますか?あなたがそれなしで解決策を望むなら、それを質問から取り除くだけで、理解しやすくなります。 – laughedelic

+0

私はそれを以下の方法で修正することができます。 – Ramesh

+0

私が変数「studentsList」に割り当てたScalaリストを次に繰り返します。 'studentsList.foreach(x => func(x.name、x.age、x。branch、x.sem)) def func(name:String、age:Int、branch:String、sem:String):ユニット= { println(名前) println(年齢) println(支店) } ' – Ramesh

答えて

3

、あなたのケースのクラスが同じ

case class students(name: String, age: Int, branch: String, sem: String) 

val listStudents = List(students("Rajesh",21,"branch1","sem1"), 
    students("Kamal",25,"branch2","sem2"),students("Kavitha",23,"branch3","sem3")) 

val filteredNames = listStudents.filter(_.branch == "branch2").map(_.name) 
関連する問題