java.lang.NoClassDefFoundError: com/datastax/spark/connector/ColumnSelector while building a jar

java.lang.NoClassDefFoundError: com/datastax/spark/connector/ColumnSelector while building a jar

我正在使用 maven 项目和 spark,并将 cassandra 作为数据库。 能够以 0 错误执行代码,并获得我想要的结果,但我无法使用 jar 文件提交项目: 这是我的 pom.xml :

POM.xml

我提交项目的命令:

spark-submit --master "local[*]" --class com.sparkfinal.App target/sparkfinal-1.0-SNAPSHOT.jar

错误:

ERROR

您需要:

  1. 为您的项目创建一个包含所有依赖项的 assembly jar(确保将 Spark 依赖项声明为 provided
  2. 或在使用 --packages com.datastax.spark:spark-cassandra-connector_2.12:3.2.0 提交作业时将 Spark Cassandra Connector 指定为依赖项,如 connector's docs
  3. 所示

我建议使用第一种方法,因为我发现您还需要提供其他依赖项。另外,请注意,您可能不需要指定 java 驱动依赖性,因为它会被 Spark Cassandra Connector 自动拉取。