寻找有关如何使用火花在 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>
如前所述,我可以使用以下方法对第一部分进行平面映射:
x.flatMap(x=>x._1).collect.foreach(println))
但我坚持如何保留原始数据第二部分中的字符串。