Spark Cassandra加入ClassCastException

6ju8rftf  于 2022-09-27  发布在  Spark
关注(0)|答案(1)|浏览(298)

我尝试用t1.join(t2, Seq("some column"), "left")连接两个Cassandra表,收到以下错误消息:

Exception in thread "main" java.lang.ClassCastException: scala.Tuple8 cannot be cast to scala.Tuple7 at org.apache.spark.sql.cassandra.execution.CassandraDirectJoinStrategy.apply(CassandraDirectJoinStrategy.scala:27)

我使用的是cassandra v3.11.13和Spark 3.3.0。代码依赖项:

libraryDependencies ++= Seq(
      "org.scalatest" %% "scalatest" % "3.2.11" % Test,
      "com.github.mrpowers" %% "spark-fast-tests" % "1.0.0" % Test,
      "graphframes" % "graphframes" % "0.8.1-spark3.0-s_2.12" % Provided,
      "org.rogach" %% "scallop" % "4.1.0" % Provided,
      "org.apache.spark" %% "spark-sql" % "3.1.2" % Provided,
      "org.apache.spark" %% "spark-graphx" % "3.1.2" % Provided,
      "com.datastax.spark" %% "spark-cassandra-connector" % "3.2.0" % Provided)

非常感谢你的帮助

ar7v8xwq

ar7v8xwq1#

Spark Cassandra connector还不支持Apache Spark 3.3.0,我怀疑这就是为什么它不能工作的原因,尽管我自己还没有做任何验证。
SPARKC-686中要求支持Spark 3.3.0,但所需的工作量很大,请继续关注。
最新支持的Spark版本是3.2,使用Spark cassandra连接器3.2。干杯!

相关问题