Я пробовал очень простую программу hello world для java + spark + cassandra.
Изначально у меня было несколько смешанных версий библиотек, которые вызывали NoSuchMethodError (# 5). Когда я понял правильные версии, я получил ошибку noclassdefound для ведения журнала искры (# 4). Это из кода разъема кассандры. Я собрал его из ветки b2.3 в github, которая находится за парой коммитов за мастером (используя sbt).
Все решения для искровой регистрации указывают на переход к более старым версиям. Это не практическое решение для нас, так как мы должны выяснить это для будущего развития.
Интересно, почему последняя стабильная сборка разъема cassandra относится к искровому каротажу, который больше не доступен?
Любая помощь приветствуется.
Версия Spark: 2.3.0
Кассандра: 3.9.0
Соответствующий фрагмент кода вставлен ниже.
#1 SparkConf sparkConf = new SparkConf().setAppName("appname")
.setMaster("local");
#2 sparkConf.set("spark.cassandra.connection.host", "127.0.0.1");
#3 JavaSparkContext ctx = new JavaSparkContext(sparkConf);
#4 CassandraConnector connector = CassandraConnector.apply(ctx.getConf()); <<<< org/apache/spark/logging noclassdeffound error
#5 try (Session session = connector.openSession()) { <<< nosuchmethoderror: scala.runtime.objectref.zero()lscala/runtime/objectref
POM ниже
http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
com.mygroup
апаш-искровой
1,0-СНАПШОТ
яс
апаш-искровой
http://maven.apache.org
<dependencies>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.11</artifactId>
<version>2.2.1</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.11</artifactId>
<version>2.3.1</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-streaming_2.11</artifactId>
<version>2.2.1</version>
</dependency>
<dependency>
<groupId>com.datastax.spark</groupId>
<artifactId>spark-cassandra-connector-java_2.11</artifactId>
<version>1.6.0-M1</version>
</dependency>
<dependency>
<groupId>com.datastax.cassandra</groupId>
<artifactId>cassandra-driver-core</artifactId>
<version>3.5.0</version>
</dependency>
<dependency>
<groupId>org.apache.thrift</groupId>
<artifactId>libthrift</artifactId>
<version>0.11.0</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<org.apache.spark.spark-core.version>2.2.1</org.apache.spark.spark-core.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>