SBT控制台与Spark-Shell进行交互式开发

时间:2018-08-03 17:07:07

标签: apache-spark sbt spark-shell

我想知道使用SBT控制台和Spark-shell交互开发Spark项目的新代码之间是否有重要区别(笔记本实际上不是带有服务器防火墙的选项)。

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

还有其他人吗?

2 个答案:

答案 0 :(得分:1)

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

我使用数据块。

答案 1 :(得分:1)

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

要在生产环境中运行代码,您需要将代码构建到jar中,并通过spark提交对其进行调用。要构建它,您需要通过sbt(编译检查)将其打包并运行spark提交提交调用(逻辑检查)。

您可以使用任何一种工具进行开发,但是您应该编写代码,就好像您没有sbt(调用jars)和spark shell(调用import和context)的优点一样,因为spark commit都不这样做。