spark を使用して scala で何かを行う方法に関する問題の支援を探しています。
私は持っている:
type DistanceMap = HashMap[(VertexId,String), Int]
これは、次の RDD の形式で私のデータの一部を形成します。
org.apache.spark.rdd.RDD[(DistanceMap, String)]
要するに、私のデータセットは次のようになります。
({(101,S)=3},piece_of_data_1)
({(101,S)=3},piece_of_data_2)
({(101,S)=1, (100,9)=2},piece_of_data_3)
私がやりたいことは、距離マップをフラットマップすることです(私ができることです)が、同時に、フラットマップされた各マップに対してDistanceMap
、それに関連付けられた文字列を保持したいと考えています。したがって、結果のデータは次のようになります。
({(101,S)=3},piece_of_data_1))<br>
({(101,S)=3},piece_of_data_2))<br>
({(101,S)=1},piece_of_data_3))<br>
({(109,S)=2},piece_of_data_3))<br>
前述のように、次を使用して最初の部分を flatMap できます。
x.flatMap(x=>x._1).collect.foreach(println))
しかし、元のデータの 2 番目の部分から文字列を保持する方法にこだわっています。