gpt4 book ai didi

scala - 在没有 sbt 的情况下运行 Spark sbt 项目?

转载 作者:行者123 更新时间:2023-12-01 10:47:56 25 4
gpt4 key购买 nike

我有一个可以从 sbt 控制台运行的 Spark 项目。但是,当我尝试从命令行运行它时,我得到线程“主”java.lang.NoClassDefFoundError 中的异常:org/apache/spark/SparkContext。这是预料之中的,因为 Spark 库在 build.sbt 中列为provided

如何配置才能从命令行运行 JAR,而无需使用 sbt 控制台?

最佳答案

要独立运行 Spark,您需要构建一个 Spark 程序集。在 spark 根目录上运行 sbt/sbt assembly。这将创建:assembly/target/scala-2.10/spark-assembly-1.0.0-SNAPSHOT-hadoop1.0.4.jar

然后你用依赖项构建你的工作 jar(使用 sbt assembly 或 maven-shade-plugin)

您可以使用生成的二进制文件从命令行运行您的 spark 作业:

ADD_JARS=job-jar-with-dependencies.jar SPARK_LOCAL_IP=<IP> java -cp spark-assembly-1.0.0-SNAPSHOT-hadoop1.0.4.jar:job-jar-with-dependencies.jar com.example.jobs.SparkJob

注意:如果您需要其他 HDFS 版本,则需要在构建程序集之前执行其他步骤。参见 About Hadoop Versions

关于scala - 在没有 sbt 的情况下运行 Spark sbt 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23687235/

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