【问题标题】:Spark Cassandra Join ClassCastExceptionSpark Cassandra 加入 ClassCastException
【发布时间】:2023-01-05 02:55:31
【问题描述】:

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

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)

非常感谢您的帮助

【问题讨论】:

    标签: scala apache-spark cassandra spark-cassandra-connector


    【解决方案1】:

    Spark Cassandra connector 尚不支持 Apache Spark 3.3.0,我怀疑这就是它无法正常工作的原因,尽管我自己还没有进行任何验证。

    SPARKC-686 已请求支持 Spark 3.3.0,但所需的工作量很大,敬请期待。

    latest supported Spark version is 3.2 使用 spark-cassandra-connector 3.2。干杯!

    【讨论】:

    • 谢谢埃里克,我会尝试 Spark 3.2 并让你知道
    • 很高兴听到您将它与 Spark 3.2 一起使用。干杯!
    【解决方案2】:

    this commit 添加了对 Spark 3.3.x 的初始支持,尽管它在此评论时正在等待 RC/发布,因此您暂时需要自己构建和打包 jar 以开始使用它们来解决上述错误使用火花 3.3。作为活跃用户,这可能是提供任何后续 RC 反馈的好机会。

    当 RC 的/稳定版本可用时,我将更新此评论,这应该可以解决其他遇到此问题的上述问题。不幸的是,我没有足够的声誉将此评论添加到上面的线程。

    【讨论】:

      猜你喜欢
      • 2020-06-25
      • 2015-10-06
      • 2020-05-23
      • 2020-11-30
      • 2018-03-11
      • 2019-11-12
      • 2017-08-19
      • 2017-08-22
      • 2016-07-12
      相关资源
      最近更新 更多