cassandra - Spark+cassandra java.lang.ClassNotFoundException : com. datastax.spark.connector.rdd.CassandraRDD

标签 cassandra apache-spark

我正在尝试使用 Spark 从 cassandra 2.0.6 读取数据。我使用 datastax 驱动程序。在阅读时,我收到一个错误,例如“Loss was due to java.lang.ClassNotFoundException” java.lang.ClassNotFoundException:com.datastax.spark.connector.rdd.CassandraRDD“。但我在我的pom.xml中包含了spark-cassandra-connector_2.10,其中包含com.datastax.spark.connector.rdd.CassandraRDD类。Am我缺少任何其他设置或环境变量。

最佳答案

您需要使用 -cp 选项确保连接器位于执行器的类路径上,或者它是 Spark 上下文中的捆绑 jar(使用 SparkConf.addJars() )。

针对现代 Spark 进行编辑

在 Spark > 1.X 中,通常建议您使用 Spark-submit 命令将依赖项放置在执行程序类路径上。看 http://spark.apache.org/docs/latest/submitting-applications.html

关于cassandra - Spark+cassandra java.lang.ClassNotFoundException : com. datastax.spark.connector.rdd.CassandraRDD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25357640/

相关文章:

erlang - 哪个集群 NoSQL DB 用于消息存储?

apache-spark - 为什么DataFrame Row.getAs [Vector]失败?

windows - 如何让 Anaconda Pyspark Jupyter 在 Windows 下使用 S3

cassandra - CQL 3 Cassandra 1.2 计数器 : how to insert primary key?

apache-spark - 如何配置 spark-submit(或 DataProc)以从 GitHub 包下载 Maven 依赖项(jars)?

scala - 如何生成具有随机内容和 N 行的 DataFrame?

java - 如何使用mapPartitions函数将Rdd转换为数据集

java - Elassandra - 错误 : Could not find or load main class org. apache.cassandra.stress.Stress

java - 使用嵌入式 Cassandra 加速 Spring MockMvc 集成测试

azure - 用于创建 cassandra 表的 Terraform 提供程序