我已经在我想要连接到的VM(使用gettyimages Docker image)中设置了Spark 1.6。
我的Spark应用程序使用Cassandra,如果我使用setMaster("local[2]")
运行它,它将运行得非常好。但是,如果我选择setMaster(spark://localhost:7077)
(localhost在这里是我的Spark主人的地址')它会崩溃
java.lang.IllegalStateException: unread block data
异常。我在github找到了有类似问题的人,建议使用addJar(...)
将必要的库jar添加到SparkContext。
目前,我使用sbt,而且
libraryDependencies ++= Seq(
"com.datastax.spark" %% "spark-cassandra-connector" % "1.6.0-M1"
)
例如,用于将Spark Cassandra连接器添加到上下文中。但是,在使用sbt时,jar文件实际上并不在我的存储库中。另一方面,addJar(...)
想要jar文件的路径。
解决此问题的最佳方法是什么?
答案 0 :(得分:1)
查看 Advanced Dependency Management 上的文档。基本上,您使用--packages
的{{1}}命令行选项,它可以执行您想要的操作