0

我正在尝试使用 Spark+Cassandra 构建一个简单的项目,用于 SQL 分析演示。我需要使用 Cassandra v2.0.14(暂时无法升级)。我找不到正确版本的 Spark 和 Spark-cassandra-connector。我在https://github.com/datastax/spark-cassandra-connector提到了 Datastax 的 git 项目,而且我知道 Spark 和 Spark-cassandra-connector 版本需要与 Cassandra 匹配并兼容。因此,希望有人帮助指出 Spark、Spark-Cassandra-connector 的确切版本。我尝试对 Spark 和 Spark-Cassandra-connector 使用 v1.1.0 和 v1.2.1 - 但无法在没有提供的 sbt 的情况下构建 spark-cassandra-connector jat jar(失败,因为下载的 sbt-launch jar 仅包含 404找不到 html),也不是我的本地 sbt v0.13.8(“import sbtassembly.Plugin. ”、“import AssemblyKeys. ”的编译错误失败)

4

2 回答 2

0

该连接器适用于 Cassandra 2.0 和 2.1,但某些功能也可能适用于使用较旧的 Java 驱动程序 2.1 的 2.2 和 3.0(尚未正式支持)。这是因为 C* Java 驱动程序支持多种 Cassandra 版本。较新的驱动程序适用于较旧的 C* 版本,但较旧的驱动程序版本也适用于较新的 C* 版本,不包括新的 C* 功能。

但是,使用 C* 2.0 有一个小警告:从 1.3.0 版开始,我们从连接器中删除了 thrift 客户端。此举是为了简化连接代码并使其更易于调试 - 调试一种类型的连接应该比两种更容易。它要么连接要么不连接,不再有“它写得很好,但不能连接阅读”的惊喜。不幸的是,C* 2.0 和系统表中的本机协议并未公开所有节俭功能。因此,如果您使用 2.1.5 之前的 C*,自动拆分大小将无法正常工作,您必须告诉连接器首选的拆分数量。这将ReadConf在创建 RDD 时传递的对象中设置。

至于Connector和Spark之间的接口,自由度要少很多。Spark API 经常更改,您通常需要专用于您使用的 Spark 版本的连接器。请参阅自述文件中的版本表。

(失败,因为下载的 sbt-launch jar 只包含 404 not found html)

这看起来像是 SBT 问题,而不是连接器问题。我只是尝试sbt clean assembly对所有 v1.2.5、v1.3.0、b1.4 进行操作,并且效果很好。

于 2015-08-24T09:55:12.427 回答
0

如果您可以升级 spark 版本,那么您可以使用 cassandra 与 spark 连接。

将以下 maven 依赖项放入 pom 文件中:-

cassandra-all cassandra-core cassandra-mapping cassandra-thrift cassandra-client spark-cassandra-connector spark-cassandra-connector-java

这将是工作。

于 2015-08-11T05:25:12.160 回答