【问题标题】:Exception in thread "main" java.lang.NoSuchMethodError: com.datastax.spark.connector.RDDFunctions.deleteFromCassandra线程“主”java.lang.NoSuchMethodError 中的异常:com.datastax.spark.connector.RDDFunctions.deleteFromCassandra
【发布时间】:2018-08-02 03:03:57
【问题描述】:

使用以下版本:

  • 火花1.6.2
  • scala 2.10.5
  • 连接器版本 1.6.8
  • cassandra_version 3.0.11.1485

在代码中,我使用的是:

RDD.deleteFromCassandra("Keyspace","billing_table")

并得到以下异常:

Exception in thread "main" java.lang.NoSuchMethodError:
   com.datastax.spark.connector.RDDFunctions.deleteFromCassandra$default$3()Lcom/datastax/spark/connector/ColumnSelector;
   at purge.PurgeData$.PurgeSubscriptionsFromClosedAcc(PurgeData.scala:112)
   at purge.PurgeData$.PurgeClosedAccountsFromTables(PurgeData.scala:53)
   at purge.Driver$.main(Driver.scala:29)
   at purge.Driver.main(Driver.scala)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:498)
   at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:731)
   at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:181)
   at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:206)
   at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:121)
   at org.apache.spark.deploy.DseSparkSubmitBootstrapper$.main(DseSparkSubmitBootstrapper.scala:48)
   at org.apache.spark.deploy.DseSparkSubmitBootstrapper.main(DseSparkSubmitBootstrapper.scala)

请问有人可以帮忙吗?

谢谢,钱德拉

【问题讨论】:

    标签: scala apache-spark cassandra datastax nosuchmethoderror


    【解决方案1】:

    看起来您使用 spark-submit 部署了代码。 请记住,您应该在调用 spark-submit 时添加 jar 依赖项 像这样

    ./bin/spark-submit \
      --class com.your.package.Class \
      --master local[*] \
      /path/to/your.jar \
      --jars spark-cassandra-connector.jar
    

    或使用sbt assembly plugin,它将创建包含所有必需依赖项的jar。

    【讨论】:

      【解决方案2】:

      DeleteFromCassandra 仅在 SCC 版本 2.0.0-RC1 中引入,请参阅

      https://github.com/datastax/spark-cassandra-connector/commit/6944110c9a2790d28c27bf575b8c065684020f1a

      此外,使用“--jars”将 spark-cassandra-connector 添加到您的 spark-submit 命令是不正确的,因为这不会包含依赖项。而是使用 Quick Start Guide

      中指定的 --packages 命令

      【讨论】:

        猜你喜欢
        • 2019-06-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-17
        • 2017-01-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多