leftOuterJoin JavaPairRDD <integer,integer =“”>和JavaPairRDD <integer,map <integer,=“”integer =“”>&gt;

时间:2018-05-16 06:05:43

标签: java apache-spark

我正在尝试执行JavaPairRDD和JavaPairRDD的leftOuterJoin&gt;并且在函数签名返回类型是

JavaPairRDD<Integer, Tuple2<Integer, Optional<Map<Integer, Integer>>>>

此处可选 com.google.common.base.Optional

当我执行leftOuterJoin时,这是正确的返回类型吗?

我的IDE发出此错误

no instance(s) of type variable(s) W exist so that Optinal<W> conforms to Optional<Map<Integer, Integer>>

我无法找到适当的文件。如果有任何链接可以更好地理解这一点,那也会有所帮助。感谢。

1 个答案:

答案 0 :(得分:1)

根据javadoc(https://spark.apache.org/docs/2.2.0/api/java/index.html?org/apache/spark/api/java/JavaPairRDD.html),类型为JavaPairRDD<K, V>的RDD与类型为JavaPairRDD<K,W>的RDD之间的左外连接将为您提供:JavaPairRDD<K,Tuple2<V,Optional<W>>>

这是您编写的内容,但Optional类型在spark的java API中定义:org.apache.spark.api.java.Optional<T>。它不是由Google定义的,因此您的IDE会引发错误; - )