employee.txt:ロジック
100|Surender
101|Raja
salary.txt:
100|2016-JAN|15000
100|2016-FEB|15000
こんにちは
私はいくつかをやっていますスカラを使ったスパークコアでの基本的なハンズオン。
各従業員の合計給与を計算する必要があります。従業員が給与ファイルに一致するレコードを持っていない場合、給与を0として表示
私は以下のコードを試しました。私は参加するまで行くことができましたが、私は誰も読んでいないし、何かを読んでさらに進むことができないのですか?
期待される出力に手伝ってくれますか?
scala> val empRDD = sc.textFile("/user/cloudera/inputfiles/employee.txt")
scala> val salaryRDD = sc.textFile("/user/cloudera/inputfiles/salary.txt")
scala> val empMapRDD = empRDD.map(elem => elem.split("\\|"))
scala> val salaryMapRDD = salaryRDD.map(elem => elem.split("\\|"))
scala> val empKeyValueRDD = empMapRDD.map(elem => (elem(0),elem(1))
scala> val salaryKeyValueRDD = salaryMapRDD.map(elem => (elem(0),elem(2)))
scala> val joinedRDD = empKeyValueRDD.leftOuterJoin(salaryKeyValueRDD)
scala> joinedRDD.collect
res3: Array[(String, (String, Option[String]))] = Array((101,(Raja,None)), (100,(Surender,Some(15000))), (100,(Surender,Some(15000))))
予想される出力:
Array((100,Surender,30000), (101,Raja,0))
おかげで多くのSriniようになります、同じ結果を達成するために、他のいくつかの方法がある場合は私に知らせてください。 –