用于数据科学应用的Scala IDE(如RStudio/Spyder/Rodeo)

maj*_*jom 5 ide scala data-science

随着Spark的兴起,Scala作为数据科学应用程序首选的编程语言获得了巨大的发展势头.

为了提高数据科学应用程序的工作效率,已经发布了专门的IDE

Scala有类似的东西吗?

eva*_*man 5

不幸的是,目前似乎没有针对Scala的任何专用Data Science IDE.我认为这些是您最好的选择:

IntelliJ工作表:

IntelliJ工作表 这基本上是一个带有输出窗口的文本编辑器,可以根据需要随时更新.Eclipse有类似的东西,我更喜欢IntelliJ.

优点:

  • 由IntelliJ的出色代码完成,错误检查和sbt/maven集成支持.
  • 您可以在与实际开发系统相同的项目设置中进行原型设计(如果有的话).

缺点:

  • 我不知道任何缓存/选择性评估,因此每次您想要答案时都要评估整个工作表,如果您有一些需要很长时间才能完成的操作,则可能不需要这些工作表.
  • 没有工作区变量窗口或绘图集成.

Jupyter笔记本

Jupyter笔记本 Jupyter笔记本是iPython笔记本的概括,它现在支持许多解释语言(新内核一直在添加).

优点:

  • ScalaSpark Scala内核相当容易安装,都能够添加maven/sbt依赖项和JAR.
  • 笔记本电脑中的单元可以单独运行(例如,您可以训练一次模型并多次使用它).
  • 单元格支持markdown(使用LaTeX!),可以单独渲染(github示例),允许您将笔记本用作报表/演示.
  • 笔记本电脑支持笔记本电脑服务器,因此您可以轻松地使用功能更强大的笔记本电脑,然后从其他位置与笔记本电脑进行交互.
  • 一些内核具有自动完成功能.
  • 看起来有一些情节整合(例子),但它并没有完全抛光.

缺点:

  • 并非所有内核都是完美的,有些内核有缺陷或功能有限.
  • 没有工作区变量窗口.
  • 你真的需要小心细胞的排序,否则会导致很多混乱.

对于大多数数据技术的东西,我使用Jupyter,但它远非完美.为了让Scala真正接管数据科学语言,它真的需要更多的数据科学库(scikit-learn在这里遥遥领先)并且它需要一个可靠的绘图库(有一些选项,但我没有看到它们都使用惯用的Scala,能够在没有服务器的情况下运行).我认为只要它具有这两个元素,它就会变得更受欢迎,并且希望有人能够创建一个不错的RStudio风格的IDE.