【发布时间】:2016-04-25 20:38:22
【问题描述】:
我正在研究 Spark-mllib 的源代码,我注意到所有源代码都在 scala 中,而不是 java。
scala 通常不会比 Java 使用更多的资源吗?为什么这里的 ML 引擎是用 Scala 而不是 Java 编写的?我在这里有什么遗漏吗?
另外,Eclipse Luna 似乎无法与最新版本的 scala 协调?人们会推荐哪种 IDE 来使用 scala 模块构建 spark 代码?
非常感谢!
【问题讨论】:
-
为什么你认为 scala 通常会使用更多的资源? Scala 代码可以在需要的地方进行优化。
-
仅根据我的研究,scala 比 java 占用更多的内存。例如:stackoverflow.com/questions/5901452/… 或者我错过了什么?
-
您是否阅读了 Rex Kerr 在链接问题中的第一个答案?它与你所说的相反。
-
是的,我阅读了 Rex Kerr 的评论。而他的以下评论正是我所担心的: val bigEnough = array.filter(_.length > 2).flatMap(mapping.get) 简单!但是,除非您非常熟悉集合的工作原理,否则您可能没有意识到这样做会创建一个额外的中间数组(使用过滤器),并为数组的每个元素创建一个额外的对象(使用映射。 get,它返回一个选项)。它还创建了两个函数对象(一个用于过滤器,一个用于 flatMap),尽管这很少是主要问题,因为函数对象很小。
-
继续阅读 - 看起来你没有读到他回答的最后两段。
标签: scala apache-spark apache-spark-mllib