我想知道使用SBT控制台和Spark shell为Spark项目交互式开发新代码之间是否有任何重要区别(笔记本电脑在服务器防火墙的情况下并不是一个真正的选项(。
- 两者都可以导入项目依赖项,但对我来说SBT更方便一些。SBT会自动引入build.SBT中的所有依赖项,sparkshell可以在命令行中使用--jar、--packages和--repositions参数
- SBT具有方便的
initialCommands
设置,可在启动时自动运行线路。我用它来初始化SparkContext
还有其他人吗?
使用SBT,理论上不需要安装SPARK本身。
我使用数据块。
根据我的经验,sbt天生地调用外部jar,spark shell天生地调用一系列导入和上下文。我更喜欢sparkshell,因为它遵循构建sparksubmit会话时需要遵守的标准。
为了在生产中运行代码,您需要将代码构建到jar中,通过spark-submit调用它们。要构建它,您需要通过sbt(编译检查(对其进行打包,并运行spark-submit-submit调用(逻辑检查(。
你可以使用这两种工具进行开发,但你应该像没有sbt(调用jar(和sparkshell(调用导入和上下文(的优势一样进行编码,因为sparksubmit两者都不具备。