gpt4 book ai didi

scala - 使用 sbt run 或使用 spark-submit 脚本运行 spark 应用程序的区别

转载 作者:行者123 更新时间:2023-12-01 21:59:59 24 4
gpt4 key购买 nike

我是 Spark 的新手,在学习这个框架时,我发现据我所知,有两种方法可以运行用 Scala 编写的 spark 应用程序:

  1. 将项目打包成JAR文件,然后使用spark-submit脚本运行。
  2. 直接使用 sbt run 运行项目。

我想知道这两种执行模式之间的区别是什么,特别是当使用 sbt run 运行时可以抛出 java.lang.InterruptedException 而它与 spark-submit 完美运行时。

谢谢!

最佳答案

SBT 是一个构建工具(我喜欢在 Linux 上运行),不一定暗示使用 Spark。碰巧它像 IntelliJ 一样用于 Spark 应用程序。

您可以在 SBT 控制台下的单个 JVM 中打包运行应用程序,但不能大规模运行。因此,如果您创建了一个带有指定依赖项的 Spark 应用程序,SBT 将使用package 编译代码并创建一个具有所需依赖项等的 jar 文件以在本地运行

您还可以在 SBT 中使用 assembly 选项创建一个 uber jarfat jar,其中包含您上传到的 jar 中的所有依赖项您的集群并通过调用 spark-submit 运行。因此,同样,如果您创建了一个带有指定依赖项的 Spark 应用程序,SBT 将通过组装、编译代码并创建一个包含所有必需依赖项等的 uber jar 文件,除了您需要发送给 Workers 的外部文件,以在您的集群上运行(通常)。

关于scala - 使用 sbt run 或使用 spark-submit 脚本运行 spark 应用程序的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53902625/

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