取决于您的用例。默认情况下,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的大部分功能,这不会对您有所帮助。
在许多情况下,火花依赖性将由您将运行应用程序的环境(除了独立模式)提供。在这种情况下,你可以如下图所示只是标志火花SQL依赖所提供的依赖性,
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.11</artifactId>
<version>2.1.0</version>
<scope>provided</scope>
</dependency>
基本问题:为什么要在其他应用程序中嵌入火花?它应该在群集上运行,而不是嵌入到其他应用程序中 –
我对Spark没有真正的兴趣。但是我需要某种类型的数据框,如Java中的R数据框或Pandas数据框,代码必须在Apache或MIT许可下。你有什么其他的建议? – David
你想要什么样的工作有数据框? –