【发布时间】:2016-08-11 03:45:08
【问题描述】:
在 Spark 2.0.0 的发行版 note 中,它说:
Spark 2.0 不再需要胖组装 jar 来进行生产部署。
这是否意味着我们不再需要制作一个胖罐子来提交作业?
如果是,如何?因此文档here 不是最新的。
【问题讨论】:
标签: apache-spark jar uberjar
在 Spark 2.0.0 的发行版 note 中,它说:
Spark 2.0 不再需要胖组装 jar 来进行生产部署。
这是否意味着我们不再需要制作一个胖罐子来提交作业?
如果是,如何?因此文档here 不是最新的。
【问题讨论】:
标签: apache-spark jar uberjar
这是否意味着我们不再需要为 提交作业?
很遗憾,没有。您仍然需要为 Sparks 部署创建一个 uber JAR。
发行说明中的标题非常具有误导性。实际的意思是,Spark 本身作为一个依赖不再被编译成一个 uber JAR,而是像一个普通的应用 JAR 一样有依赖。您可以更详细地看到这一点@SPARK-11157,它被称为“允许在没有程序集的情况下构建 Spark”,并阅读名为 "Replacing the Spark Assembly with good old
jars" 的论文,它描述了部署 Spark 而不是几个巨大的 JAR(核心、流、SQL 等),但作为几个相对常规大小的 JAR,其中包含代码和包含所有相关依赖项的 lib/ 目录。
如果你真的想要细节,this pull request 涉及几个关键部分。
【讨论】:
ClassNotFoundException 爆炸。