在开发Spark应用程序时使用多语言

时间:2016-06-14 19:36:05

标签: python scala apache-spark pyspark

我和另一个人一起做项目。我的部分项目涉及使用Spark的机器学习进行分析,而我的队友正在使用Spark Streaming将数据从源代码传输到程序并传输到接口。

我打算使用Scala,因为它对Spark有最好的支持。但是,我的队友对Scala没有任何经验,可能更喜欢使用Python。

鉴于程序的各个部分正在做两件事,我们让他的Python脚本调用我的Scala可执行文件是个好主意吗?或者使用不同语言会在以后引发并发症?

2 个答案:

答案 0 :(得分:1)

经验丰富的开发人员将能够快速掌握新语言并提高工作效率。

如果出现以下情况,我只会考虑使用这两种语言:

  1. 截止日期过于紧张,无法让开发人员加快速度,
  2. 模块之间的集成非常有限(并且您确信不会发生变化)和
  3. 有明确的部署策略。
  4. 我建议先进行小规模测试,以确认您的部署和集成计划是否有效。

答案 1 :(得分:0)

我是Python粉丝。 当我开始使用Spark时,我在继续使用Python或切换到Scala或Java时会有点混淆。

但是在尝试使用Python开发一些基本的应用程序之后,我开始觉得无聊,因为我们使用的Python不再是普通的Python而且难以调试可能会导致无形的问题。

所以我转而使用Scala。原因如下:

  1. 这比你想象的容易。
  2. 您可以从Spark代码库中了解并了解Spark的工作原理。
  3. 它比使用lambda函数的Java更棒,更好。
  4. 观看此videos