spark-shell 不导入指定的jar文件

Spark-shell does not import specified jar file

总的来说,我是所有这些东西的初学者,所以如果我遗漏了一些非常明显的步骤,请原谅。我安装了 spark 3.1.2 和 cassandra 3.11.11,我试图通过这个 guide 连接它们,我发现我在哪里制作了一个用于执行的胖罐子。在我用 jar 文件执行 spark-shell 命令时发布的 link 中,开头有一行。

INFO SparkContext: Added JAR file:/home/chbatey/dev/tmp/spark-cassandra-connector/spark-cassandra-connector-java/target/scala-2.10/spark-cassandra-connector-java-assembly-1.2.0-SNAPSHOT.jar at http://192.168.0.34:51235/jars/spark-15/01/26 16:16:10 INFO SparkILoop: Created spark context..

我正确地执行了所有步骤,但在我的 shell 中没有显示任何类似的行。为了确认它没有被添加,我尝试了那个网站上的示例程序,它抛出了一个错误

java.lang.NoClassDefFoundError: com/datastax/spark/connector/util/Logging

我该怎么办?我正在使用 spark-cassandra-connector-3.1.0

不需要自己编译,直接按照官方documentation-使用--packages自动下载所有依赖:

spark-shell --packages com.datastax.spark:spark-cassandra-connector_2.12:3.1.0

你的错误是连接器文件不包含依赖项,你需要列出所有东西,比如 java 驱动程序等。所以如果你仍然想使用 --jars 选项,那么只需下载 assembly version of it (link to jar) - 它将包含所有必要的依赖项。