gpt4 book ai didi

java - 包括 Spark 避免巨大的依赖

转载 作者:行者123 更新时间:2023-11-29 04:36:08 25 4
gpt4 key购买 nike

我想在我的项目中包含 spark sql。但是,如果这样做,jar 文件会变得很大(超过 120 MB),因为 Maven 包含大量依赖项。

<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.11</artifactId>
<version>2.1.0</version>
</dependency>

有没有办法最小化包含的依赖项?

最佳答案

取决于您的用例。默认情况下,maven 在 uber jar 中包含了 spark-sql 的所有依赖项。根据您的情况,您可能不会使用所有这些。因此,您可以将它们排除在您的依赖之外。

<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.11</artifactId>
<version>2.1.0</version>
<exclusions>
<!-- to remove jackson-databind from your uber jar -->
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</exclusions>
</exclusions>
</dependency>

但如果您的应用程序使用了 spark-sql 的大部分功能,这对您没有帮助。

在许多情况下,spark 依赖项将由您要运行应用程序的环境提供(独立模式除外)。在这种情况下,您可以将 spark-sql 依赖项标记为提供的依赖项,如下所示,

<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.11</artifactId>
<version>2.1.0</version>
<scope>provided</scope>
</dependency>

关于java - 包括 Spark 避免巨大的依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41440252/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com