2016-08-10 28 views

回答

8

这是否意味着我们并不需要进行脂肪罐子了对 提交作业?

不幸的是,没有。您仍然需要为Sparks部署创建一个超级JAR。

发布说明中的标题为非常有误导性,。实际的含义是,Spark本身作为一个依赖项不再被编译成一个超级JAR,而是像一个具有依赖关系的普通应用程序JAR。你可以更详细地看到@SPARK-11157这就是所谓的“允许Spark没有组件”,并且阅读名为"Replacing the Spark Assembly with good old jars"的论文,它描述了部署Spark的优点和缺点,而不是几个巨大的JAR(核心,流,SQL等) ..),但作为几个相对常规大小的JAR包含代码和一个lib/目录与所有相关的依赖关系。

如果你真的想要的细节,this pull request触及几个关键部分。

+0

我读过你的答案像10次。我也读过你提供的链接。你能清楚地说明为什么我必须创造肥缸吗?如果我不这样做,只需为所有的火花依赖指定一个提供的范围,什么是潜在的问题? – MaxNevermind

+0

@MaxNevermind如果你不这样做,并且只发布你的编译代码,谁将提供第三方依赖关系?在运行时,你的应用程序将爆发一个'ClassNotFoundException'。 –

+0

我问了一个错误的问题。如果我制作了一个胖罐子但是为所有的火花依赖指定了一个提供的范围,那么它会由环境提供吗?所以,我的应用程序使用的第三方依赖关系,但Spark不会被包装在一个胖罐子里。 – MaxNevermind

相关问题