命令策略 Class 在 Spark 1.3 中找不到

Command Strategy Class Not found in Spark 1.3

我正在使用 spark 1.3 并且能够创建 spark 上下文。当我尝试使用 CassandraSQL 上下文访问 Cassandra 数据库时。我收到以下错误。

线程中的异常 "main" java.lang.NoClassDefFoundError: org/apache/spark/sql/execution/SparkStrategies$CommandStrategy 在 org.apache.spark.sql.cassandra.CassandraSQLContext$$anon$1.(CassandraSQLContext.scala:67) 在 org.apache.spark.sql.cassandra.CassandraSQLContext.(CassandraSQLContext.scala:64) 在 SparkSample$.main(SparkSample.scala:28) 在 SparkSample.main(SparkSample.scala)

我使用 Datastax 的 spark-cassandra 连接器。另外,我看不到与 SQL 执行相关的任何文档 https://spark.apache.org/docs/1.2.0/api/java/index.html?org.apache.spark.sql.execution 在 spark 1.3 版本中。有什么想法吗?

首先,如果您查看 Cassandra 自述文件,您会发现它们尚不支持 1.3。不过我相信他们会接受 PR:)

现在,进入问题的关键;他们正在使用包私有部分,因此他们很容易出现这些类型的重大变化。如果你看SparkStrategies in the 1.2 branch, you will see the CommandStrategy at the bottom. However, in SparkStrategies 1.3,最后一个对象变成了DDLStrategy,一眼看去根本不一样。所以,他们可能已经完全删除了它。最好的办法是将此报告给 Cassandra 连接器项目并等待 1.3

的官方支持