有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何连接两个特殊的RDD?

一是

rdd1 : JavaPairRDD<Tuple2<String,String>,Integer> 

另一个是

rdd2 : JavaPairRDD<String,Integer>

我想加入rdd1和rdd2,其中Tuple2_rdd1中的1等于rdd2中的键。 例如,((“a”,“b”),1)和(“a”,2)将生成((“a”,“b”),1,2)。 当我将rdd1映射到:

rdd3 : JavaPairRDD<String, Tuple2<String, Integer>>

并尝试使用rdd3。join(rdd2),它“只能将元组(而不是“str”)连接到元组”。 有没有一个解决方案可以连接rdd1和rdd2并获得我想要的结果


共 (1) 个答案

  1. # 1 楼答案

    将rdd1映射到:

    JavaPairRDD<String, Tuple2<Tuple2<String,String>,Integer>>
    

    比如:

    x -> new Tuple2(x._1._1, x)
    

    再次使用标准联接和映射以获得所需的结果