java - leftOuterJoin JavaPairRDD<Integer, Integer> 和 JavaPairRDD<Integer, Map<Integer, Integer>>

标签 java apache-spark

我正在尝试执行 JavaPairRDD 和 JavaPairRDD> 的 leftOuterJoin,并且函数签名返回类型为

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>>

我找不到合适的文档。如果有任何链接可以更好地理解这一点,那也会很有帮助。谢谢。

最佳答案

根据 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>>> .

这是你写的,除了Spark的java API中定义了Optional类型:org.apache.spark.api.java.Optional<T> 。它不是 Google 定义的,因此您的 IDE 会向您抛出错误;-)

关于java - leftOuterJoin JavaPairRDD<Integer, Integer> 和 JavaPairRDD<Integer, Map<Integer, Integer>>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50363487/

相关文章:

java.lang.IllegalArgumentException : No bean specified

java - Spring ERR_CONNECTION_REFUSED

apache-spark - 高效计算spark中的top-k元素

arrays - 如何使用Scala和Spark从数组中选择非顺序子集元素?

apache-spark - 提交 Spark 作业到 Spark 集群

java - JPA/Hibernate无法理解持久顺序

java - 代码(java,多线程)执行到一行代码后停止

java - 测试用例后使用SQL回滚,但被测方法使用commit

apache-spark - Hadoop客户端无法连接到datanode

apache-spark - 使用 DataFrame 按组划分的 Python Spark 累积总和