在 Spark 2.0.0 的发行说明中,它说:
Spark 2.0 不再需要一个胖汇编 jar 来进行生产部署。
这是否意味着我们不再需要制作一个胖罐子来提交作业了?
如果是,如何?因此这里的文档不是最新的。
这是否意味着我们不再需要制作一个胖罐子来提交作业了?
可悲的是没有。您仍然需要为 Sparks 部署创建一个 uber JAR。
发行说明中的标题非常具有误导性。实际的意思是,Spark 本身作为一个依赖不再被编译成一个 uber JAR,而是像一个普通的应用 JAR 一样有依赖。您可以更详细地看到这一点@SPARK-11157
它被称为“允许在没有程序集的情况下构建 Spark”,并阅读名为“用旧的 jar 替换 Spark程序集”的论文,该论文描述了部署 Spark 而不是几个巨大的 JAR 的优缺点(Core、Streaming、SQL 等),但作为几个相对常规大小的 JAR,包含代码和lib/
包含所有相关依赖项的目录。
如果你真的想要细节,这个拉取请求涉及几个关键部分。