我有以下rdds
JavaPairRDD<String, MyObject> myObjects = //implemented elsewhere
JavaRDD<String> myKeys = //implemented elsewhere
我想在myObjects中找到所有元组,以便元组的键出现在myKeys中。我能想到的唯一方法是将myKeys转换为JavaPairRDD,然后加入myKeys和myObject。所以,像这样:
JavaPairRDD<String, Integer> myKeysPair = myKeys.mapToPair(t -> new Tuple2<>(t, 0));
JavaRDD<MyObject> myFinalObjects = myObjects.
join(myKeysPair).mapToPair(t -> t._2).map(t->t._1);
这看起来效率不高,我想知道是否有更好的方式来获得我想要的东西。
我正在使用Spark 1.5.2和Java 8