当前位置: 首页 > 知识库问答 >
问题:

在EMR上为spark使用fat jar时覆盖配置设置

焦信鸥
2023-03-14

我正在编写一个spark应用程序,并使用sbt assembly创建一个fat jar,我可以将其发送到spark-submit(通过Amazon EMR)。我的应用程序使用typesafe-config,在我的resources目录中有一个reference.conf文件。我的jar在Amazon S3上,我使用命令AWS emr add-steps..创建一个新的spark作业(将jar下载到集群并发送到spark-submit)。我知道,一般来说,我可以使用application.conf来覆盖这些设置。但是,由于我使用的是spark(和一个胖罐子),我需要一些方法来部署我的重写。

使用Spark时,重写应用程序配置设置的建议方法是什么?

共有1个答案

凌蕴藉
2023-03-14

你可以使用Spark-Submit...--conf my.app.config.value=50--conf config.file=other.conf...fat.jar

当使用typesafe.config.confactory.load()时,命令行上指定的值将覆盖在“other.conf”中指定的值,而这些值又将覆盖在Fatjar中的“reference.conf”中指定的值。

 类似资料:
  • 我正在与AWS工作,我有使用Spark和Hive的工作流。我的数据是按日期分区的,所以每天我的S3存储中都有一个新分区。我的问题是,当有一天加载数据失败时,我不得不重新执行那个分区。接下来编写的代码是: 在我的流动中发生了什么?如果我使用savemode.overwrite,完整的表将被删除,并且只保存分区。如果我使用savemode.append,我可能会有重复的数据。 我想要的是:在表中,分区

  • 在默认情况下加载的文件夹中有一个类型安全配置。 可以通过指定以下内容重写单个值: 将无法加载。相反,将加载resources文件夹中的原始文件。尝试以下技巧:在纱线上使用typesafe config和Spark也没有帮助。 当使用uberjar部署时,重写类型安全配置中的多个配置值似乎是普通(没有spark)程序的解决方案。问题仍然是如何使这一点产生火花。 同样通过的是: https://git

  • 我有一个生产者应用程序,它以每秒600条记录的速度写入Kinesis流。我编写了一个Apache flink应用程序来读取/处理和聚合这些流数据,并将聚合的输出写入AWS Redshift。 每条记录的平均大小为2KB。此应用程序将24*7运行。 我想知道我的AWS EMR集群的配置应该是什么。我需要多少个节点?我应该使用的EC2实例类型(R3/C3)应该是什么。 除了性能方面,成本对我们也很重要

  • 对于我的Golang项目,我不清楚代码覆盖在Azure DevOps中是如何工作的。我的专长是看到这样的东西: 我很困惑,因为我看到这个提示“设置代码覆盖率”: 但是在“代码覆盖率”选项卡中是一个生成的html报告: 我在任务“发布代码覆盖率结果”中收到此警告 但是当我使用< Code > disable . Coverage . auto generate:' false ' 禁用html生成时

  • 我正在尝试在AWS EMR 5.11的Spark上安装Apache Hive。ApacheSpark版本-2.2。1 Apache配置单元版本-2.3。2条纱线记录显示以下错误: 18/01/28 21:55:28错误ApplicationMaster:用户类引发异常:java。lang.NoSuchFieldError:SPARK\u RPC\u服务器\u地址java。lang.NoSuchFi

  • 我有一个使用Spring-Mongo集成的Spring应用程序。在主端配置XML中,我们有这样的东西来定义Mongo实例(有几个): 我想在Fongo的BDD套件配置中覆盖这一点,这样测试就不会使用真正的mongo。 我有点被“mongo:mongo”的具体设置搞得晕头转向。我以为你最终会得到一个com。mongodb。蒙哥,别这样。XML似乎指的是Spring MongoType? 我在BDD配