如何组织Spark开发工作流程?
我的方式:
我也尝试过使用spark-shell:
有没有办法更快地开发Spark应用程序?
答案 0 :(得分:4)
我使用交互式环境开发Spark作业的核心逻辑,以实现快速原型设计。为此,我们使用针对开发群集运行的Spark Notebook。
一旦我对逻辑进行了原型设计并且它按预期工作,我就在Scala项目中“工业化”代码,使用经典的构建生命周期:创建测试;由Jenkins构建,打包和创建工件。
答案 1 :(得分:1)
我发现编写脚本并使用:load /:copy简化了一些事情,因为我不需要打包任何东西。如果您确实使用了sbt,我建议您启动它并使用~ package
,以便在进行更改时自动打包jar。最终当然一切都会在应用程序jar中结束,这是用于原型设计和探索。
答案 2 :(得分:1)
我们使用IDE(Intellij开发我们的应用程序,因为我们使用scalaTest对您的Spark应用程序进行编码)进行测试。
在这些测试中,我们使用local [*]作为SparkMaster以便进行调试。
对于集成测试,我们使用了Jenkins,我们以Scala应用程序的形式启动了“端到端”脚本。
我希望这会有用