2015-06-03 98 views
6

您如何组织Spark开发工作流程?Apache Spark应用程序工作流程

我的方式:

  1. 本地的Hadoop /纱线的服务。
  2. 本地火花服务。
  3. 的Intellij在一个屏幕上
  4. 终端与运行SBT控制台
  5. 后变更火花应用代码,我切换到终端和运行“包”编译到罐和“submitSpark”,这是一个运行火花STB任务提交
  6. 等待例外SBT控制台:)

我也试图与火花壳工作:

  1. 运行shell和负载前雇主书面的应用程序。在外壳
  2. 写行
  3. 评价它
  4. 如果是精仿到IDE
  5. 数2,3,4之后,粘贴代码IDE,编译火花应用程序,并重新开始

是有什么方法可以更快地开发Spark应用程序?

回答

4

我使用的交互式环境快速原型开发我们的星火工作的核心逻辑。我们使用Spark Notebook为此目的对开发群集运行。一旦我对逻辑进行了原型设计,并且它按照预期工作,我就将经典构建生命周期中的代码“工业化”到Scala项目中:创建测试;由Jenkins构建,打包和创建工件。

+0

Spark Notebook很酷:) – zie1ony

1

我发现编写脚本和使用:load /:复制简化了一些东西,因为我不需要打包任何东西。如果你确实使用sbt,我建议你启动它并使用~ package,这样它在进行更改时自动将jar包装起来。最终当然最终都会在一个应用程序jar中完成,这是为了原型和探索。

  1. 当地星火
  2. Vim的
  3. 火花壳牌
  4. 的API
  5. 控制台
1

我们开发使用的IDE(的IntelliJ,因为我们在Scala代码的火花的应用程序)我们的应用程序使用scalaTest进行测试。

在那些测试中,我们使用本地[*]作为SparkMaster以允许调试。

对于集成测试,我们使用了Jenkins,我们启动了一个“端到端”脚本作为Scala应用程序。

我希望这将是有益的

相关问题