123.Spark大型电商项目-incompatible types Reqired javaPairRDD

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/someby/article/details/89265506

目录

问题描述

问题

 解决方案


本篇文章记录解决问题Spark JavaPairRDD进行join、leftOuterJoin出错问题。


问题描述


       前两天我使用Spark2.3.1版本进行一个项目开发,当时没有任何问题,代码中一切正常,没有任何保存,也跑了一些数据出来,接下来我就对跑出来的数据进行可视化了,没想到才过了今天,在写论文的时候发现有地方显示有错误,这时候强迫症犯了,就是要解决错误,花了一下午,就开始解决这个问题。

问题

Incompatible types,Reqired javaPairRDD<Long,Tuple2<String,Row>>,but 'join' was inferred to  javaPairRDD<Long,Tuple2<String,W>>: incompatible equality constraint :Row and T2

Incompatible types,Reqired javaPairRDD<Long,Tuple2<String,Optional<Long>>>,but 'leftOuterJoin' was inferred to javaPairRDD<Long,Tuple2<String,Optional<Long>>>: incompatible equality constraint :Optional<Long> and T2

 

 解决方案

首先是怀疑是以来发生了改变,所以就将以来重新导入一遍,但是没有丝毫的作用;怀疑是依赖中的一部分文件没有下载下来,将settings.xml配置为阿里的,同样没有作用;最后是将Spark改为低版本1.6.1,错误消失,现在可以确定是版本的问题,我部署的Spark版比较高,于是我将Spark版本改为了2.4.0,也没有问题。

在将原来的Optional引用java.util.Optional,改为org.apache.spark.api.java.Optional,程序能运行,但是还是报类型不匹配的异常,接着将Spark升级到2.4.0版本,异常消失,没有了错误。

猜你喜欢

转载自blog.csdn.net/someby/article/details/89265506
今日推荐