我试图用: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)我使用卡桑德拉v3.11.13和星火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)我们非常感谢你的帮助。
发布于 2022-09-12 13:04:11
火花卡桑德拉连接器还不支持ApacheSpark3.3.0,我怀疑这就是它无法工作的原因,尽管我自己还没有做过任何验证。
在SPARKC-686中已经请求支持Spark3.3.0,但是所需的工作量很大,所以请继续关注。
最新支持的星火版本为3.2使用火花卡桑德拉-连接器3.2.干杯!
https://stackoverflow.com/questions/73680136
复制相似问题