在本地运行模式下切换提供和包含火花二进制文件

时间:2017-02-18 19:15:43

标签: maven apache-spark sbt

mavensbt中构建spark应用程序的常见模式是将火花二进制文件标记为provided。这种方法大大减少了超级jar的大小,并且如果二进制文件是为spark 2.0.0构建的,但是部署在2.0.1上,也可以避免版本不匹配。

这种方法的缺点是 - 我们如何在local模式下运行程序?在这种情况下,没有火花服务器为我们提供二进制文件。

这不是指运行 tests :那些位于test目录中的。相反,其意图是在部署集群上运行与本地相同的工作流程,包括从main目录中获取并使用相同的构建文件。首选答案是只有sbtmaven命令行开关才会有所不同。

例如在sbt中(请注意 提供 ,这将省略二进制文件):

"org.apache.spark" %% "spark-core"  % Versions.spark % "provided"

我们希望*包含spark二进制文件:

sbt package <some switch to include the spark binaries>

在maven pom.xml

     <dependency>
         ..
        <scope>provided</scope>
    </dependency>

我们想以某种方式包含火花二进制文件:

mvn package <some switch to include the spark binaries>

0 个答案:

没有答案