【发布时间】:2018-05-21 00:55:30
【问题描述】:
我正在与 Spark 和 Cassandra 合作,总的来说,事情是直截了当的,并且按预期工作;特别是 spark-shell 和运行 .scala 进程以获得结果。
我现在正在研究 Spark 作业服务器的利用率;对于测试项目以及开发的一些初始、简单的 .scala,我已启动并运行作业服务器并按预期工作。
但是,我现在想使用一个在 spark-shell 中运行的 .scala 程序,并将其放到 Spark 作业服务器上,以便通过该机制进行访问。我遇到的问题是作业服务器似乎无法识别围绕 cassandra 的导入语句,并且无法构建(sbt 编译;sbt 包)用于上传到作业服务器的 jar。
在某种程度上,看起来我需要与 Spark 作业服务器上的 spark shell 包开关 (--packages datastax:spark-cassandra-connector:2.0.1-s_2.11) 等效的作业服务器,以便导入com.datastax.spark.connector._ 和 .scala 文件中的类似代码都可以使用。
目前,当我尝试构建(sbt complie)时,我收到如下消息: [错误] /home/SparkCassandraTest.scala:10: 对象 datastax 不是包 com 的成员 [错误] import com.datastax.spark.connector._
我根据搜索和留言板建议在 build.sbt 文件中添加了不同的项目;但没有真正的改变;如果这是我想要的答案,那么我应该将什么添加到基本作业服务器以启用 cassandra 连接器的使用。
【问题讨论】:
-
您想运行多个使用 Cassandra 的程序吗?还是只有一个?您是否尝试通过
sbt assembly将代码打包到“fat jar”中并提交? -
不确定......我只想构建一个简单的 scala 连接到 Cassandra 并读回一些数据,这样我就可以确认它有效,然后考虑我想从那里做什么......我想创建一个 jar,我可以使用 curl 命令加载到 spark 作业服务器,然后从那里调用它们
-
不幸的是,我对 Job Server 不熟悉,但是您的打包说明似乎缺少 cassandra 依赖项...
-
听起来不错(即 cassandra 依赖项没有被拾取);我需要在 intelliJ 中做什么才能做到这一点?
标签: apache-spark cassandra spark-jobserver