0

我想知道使用 SBT 控制台和 Spark-shell 为 Spark 项目交互式开发新代码之间是否有任何重要区别(笔记本并不是服务器防火墙的真正选择)。

  • 两者都可以导入项目依赖,但对我来说 SBT 更方便一些。SBT 会自动在 build.sbt 中引入所有依赖项,并且 spark-shell 可以在命令行中使用 --jar、--packages 和 --repositories 参数。
  • SBT 有一个方便的initialCommands设置,可以在启动时自动运行线路。我用它来初始化 SparkContext。

还有其他人吗?

4

2 回答 2

1

使用 SBT,理论上您不需要安装 SPARK 本身。

我使用数据块。

于 2018-08-04T22:37:57.597 回答
1

根据我的经验,sbt 调用外部 jar 天生会触发 shell 调用系列的导入和上下文。我更喜欢 spark shell,因为它遵循构建 spark 提交会话时需要遵守的标准。

为了在生产环境中运行代码,您需要将代码构建到 jars 中,通过 spark submit 调用它们。要构建它,您需要通过 sbt (编译检查)打包它并运行 spark submit 调用(逻辑检查)。

您可以使用任何一种工具进行开发,但您应该像没有 sbt(调用 jars)和 spark shell(调用导入和上下文)的优势一样编写代码,因为 spark submit 也没有。

于 2018-08-05T20:20:26.037 回答