我有将数据写入 Cassandra 的 spark 工作(Cassandra 在 GCP 上)。当我从 IntelliJIDEA(我的 IDE)运行它时,它工作得非常好。数据完美地发送并写入 Cassandra。但是,当我将项目打包到一个胖 jar 中并运行它时,这会失败。
这是我如何运行它的示例。
spark-submit --class com.testing.Job --master local out/artifacts/SparkJob_jar/SparkJob.jar 1 0
但是,这对我来说失败了,并给了我以下错误
Caused by: java.io.IOException: Failed to open native connection to Cassandra at {X.X.X:9042} :: 'com.datastax.oss.driver.api.core.config.ProgrammaticDriverConfigLoaderBuilder com.datastax.oss.driver.api.core.config.DriverConfigLoader.programmaticBuilder()'
Caused by: java.lang.NoSuchMethodError: 'com.datastax.oss.driver.api.core.config.ProgrammaticDriverConfigLoaderBuilder com.datastax.oss.driver.api.core.config.DriverConfigLoader.programmaticBuilder()'
我的工件文件确实包含 spark-Cassandra 文件
spark-cassandra-connector-driver_2.12-3.0.0-beta.jar
spark-cassandra-connector_2.12-3.0.0-beta.jar
我想知道为什么会发生这种情况以及如何解决?