sql - Spark 1.3 中未找到命令策略类

标签 sql scala cassandra apache-spark

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

线程“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 :)

现在,进入问题的关键;他们使用包私有(private)部分,因此很容易发生这些类型的重大更改。如果你看SparkStrategies in the 1.2 branch ,您将在底部看到 CommandStrategy。然而,在 SparkStrategies 1.3 ,最后一个对象变成了DDLStrategy,乍一看根本就不太一样。所以,他们可能已经完全删除了这个。您最好的选择是向 Cassandra 连接器项目报告此问题并等待 1.3 的官方支持

关于sql - Spark 1.3 中未找到命令策略类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29259029/

相关文章:

mysql - 清除数据库 - 计算清除/未清除的表

java - 使用 Statistic.stat 时如何避免收集

java - 如何使用 Hector 检索 Cassandra 键空间/列族中键列的名称?

mysql - 根据 mysql 中的最小 id 返回唯一行

sql - 赞成票和反对票投票系统的数据库结构

mysql - 最小化数组查询数量的最佳实践

scala - Scala中的Seq和Set有什么区别

java - 是否有人在 IntelliJ 中成功混合了 scala 和 java 文件

amazon-ec2 - 当我增加 AWS 卷的 IOPS 时,是否需要重新启动所有进程

mysql - 通过 TTL 持久性将数据从 Cassandra 实时复制到 ElasticSearch