Spark-Shell 依赖项,翻译自 sbt

ele*_*ias 5 scala cassandra sbt apache-spark

在检查如何使用 cassandra 连接时,文档指示将其添加到 sbt 文件中:

"libraryDependencies += "com.datastax.spark" %% "spark-cassandra-connector" % "1.6.0-M1"
Run Code Online (Sandbox Code Playgroud)

一般来说,是否有一个明显、直接的逻辑可以将其转换为相应的:

spark-shell --packages "field1":"field2"
Run Code Online (Sandbox Code Playgroud)

我试过了:

spark-shell --packages "com.datastax.spark":"spark-cassandra-connector"
Run Code Online (Sandbox Code Playgroud)

和其他一些事情,但这不起作用。

Dan*_* B. 5

我相信是的--packages "groupId:artifactId:version"。如果您有多个包,可以用逗号分隔它们。 --packages "groupId1:artifactId1:version1, groupId2:artifactId2:version2"

在 sbt 中

val appDependencies = Seq(
  "com.datastax.spark" % "spark-cassandra-connector_2.10" % "1.6.0-M1"
)
Run Code Online (Sandbox Code Playgroud)

val appDependencies = Seq(
  "com.datastax.spark" %% "spark-cassandra-connector" % "1.6.0-M1"
)
Run Code Online (Sandbox Code Playgroud)

是相同的。如果您%%在 sbt 中使用语法(在 groupId 之后),它会自动选择适合您的 scala 版本的工件。因此,使用 scala 2.10 会将您的spark-cassandra-connector更改为spark-cassandra-connector_2.10。不确定使用 Spark-shell 时是否存在此功能,因此您可能需要明确询问工件的 scala2_10 版本,如下所示:--packages "com.datastax.spark:spark-cassandra-connector_2.10:1.6.0-M1"