当前位置: 首页 > 知识库问答 >
问题:

为什么apache spark工件名称包含scala版本

谷梁晟
2023-03-14

在maven存储库http://mvnrepository.com/artifact/org.apache.spark中,apache-spark版本1.4.1有两种版本。

SPARK-*2.10和SPARK-*2.11

这些似乎是Scala版本。如果我使用java发行版部署apache-spark,那么哪一个是首选?

共有1个答案

陈晟睿
2023-03-14

Scala SDK在主要版本(例如2.10和2.11)之间不是二进制兼容的。如果您有将与Spark一起使用的Scala代码,并且该代码是针对特定的Scala主要版本(比如2.10)编译的,那么您将需要使用Spark的兼容版本。例如,如果您正在用Scala编写Spark1.4.1代码,并且使用的是2.11.4编译器,那么您应该使用Spark1.4.12.11。

如果您没有使用Scala代码,那么Spark 1.4.12.10和Spark 1.4.12.11之间应该没有功能上的差异(如果有,很可能是bug)。唯一的区别应该是用于编译Spark和相应库的Scala编译器的版本。

 类似资料:
  • 如何使用任务重命名gradle scala插件生成的jar,以包含scala版本名?我相信这个属性被称为:。它是通过java插件提供的(https://docs.gradle.org/current/dsl/org.gradle.api.Project.html#org.gradle.api.Project:archivesBaseName). 注意:我希望使用kotlin DSL完成此任务。 对

  • 问题内容: 实际上,这完全是理论上的问题。但是有趣的是,为什么Java规范不允许在包中使用大写字母,并导致这样写: 代替 问题答案: 直接从Oracle Docs 包名称以小写形式编写,以避免与类或接口的名称冲突。

  • 问题内容: 我是Java开发人员。如今,我正在学习strut,阅读教程时,我心中充满了好奇心 我知道这是一个非常简单的包声明,但是 该软件包名称片段经常出现在许多商业发行版中。现在我想知道这是什么意思?请澄清一下。 谢谢,抱歉,如果我无法澄清… 问题答案: 这只是一个名称空间定义,以避免类名的冲突。这是已建立的Java约定,其中名称空间相反由公司域限定。

  • 我见过类似的问题,但他们仍然没有意义,我的猿类大脑。 这里有一个例子。如果我在名为的头文件中声明了一个函数:并且在文件中声明了一个函数:。我在另一个文件(例如)中看到过这样的人,它只包含头,它只有声明(里面没有代码),而不包含带有代码的。但令我震惊的是,当他们调用中的函数时,它使用了中的代码并打印“hello”。怎么做?当我只包含了文件时,它如何打印在文件中添加的“hello”,而它只是一个声明,

  • 我必须用Java实现一个日志机制。所以我使用JEE,使用RequestFilter和拦截器。我把所有这些都放在一个叫做日志记录的包中。 我的类是:请求过滤器,响应过滤器和常量 所以我的问题是。因为类名已经存在于包中,所以不记录类名可以吗? 包日志记录和重复日志记录:请求过滤日志记录,响应过滤日志记录,ConstantsLogging

  • ...以及如何(以权威性的方式)找到它? 在Android Studio中,0.8.11:当我检查相同的内容时,它显示10.0.8.11。它对应于http://tools.android.com/current和http://developer.android.com/sdk/installing/studio.html。 在IDEA EAP 14:当我转到Settings>Plugins>And