取決於您的用例。默認情況下,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
你想要什麼樣的工作有數據框? –