自从本地Spark部署转移到独立集群后,我得到了以下异常:
java.io.InvalidClassException: org.apache.spark.sql.cassandra.CassandraSQLRow;本地班 不兼容:流classdesc serialVersionUID = -6648071136076699828,本地类serialVersionUID = -1718118159864345582
我确切知道它何时发生。当我将阴影的jar从构建的目标目录重新部署到Spark master时,实际上没有重新编译jar,就会发生这种情况。 (这只是用于开发的一些便利脚本,显然在集群中不起作用)
但是,在这种情况下,我实际上并不理解此Exception的原因。如果未重新编译该类,如何更改serialVersionUID?
答案 0 :(得分:0)
我有不同版本的spark-cassandra-connector
--packages版本与pom.xml中的版本不同。在Maven的测试范围之外,后一种依赖可能是不必要的