gpt4 book ai didi

java - 如何向单个 AWS EMR 集群提交多个 Spark 作业

转载 作者:行者123 更新时间:2023-12-01 13:09:49 28 4
gpt4 key购买 nike

我正在尝试向 EMR 集群提交多个作业,但我只看到第一个处于运行状态,其余全部处于接受状态。我的大部分工作都是流媒体工作。
我有以下疑问:

  • 如何实现这些作业的并行运行?
  • 自动化这些作业以供将来部署的各种方法有哪些?
  • 如何处理预定作业(例如每 15 分钟运行一次的作业)?

  • 我正在使用 Java 进行开发。任何输入都将非常有帮助。

    最佳答案

    如果 EMR 中的多个步骤不相互依赖,那么您可以使用名为 Concurrency 的功能。在 EMR 中解决您的用例。此功能仅意味着您可以一次并行运行 1 个以上的步骤。
    此功能来自 EMR 版本 5.28.0 .如果您使用的是比这更旧的版本,那么您将无法使用此功能。
    从 AWS 控制台启动 EMR 时,此功能称为 “并发”在用户界面中。您可以选择 1 到 256 之间的任何数字。
    如果您从 AWS CLI 启动 EMR,则此功能称为 'StepConcurrencyLevel' .
    您可以在 multiple steps now in EMR 阅读更多相关信息。和 AWS CLI details
    回答关于 的第二个问题我如何处理计划作业?
    有多种方法可以做到这一点。我能想到的一种简单的方法是写一个 生成此 EMR 的 lambda 函数 .现在,可以在 AWS cloudwatch 中安排此 lambda 函数以您想要的任何频率(例如每 15 分钟或任何时间间隔)运行。你只需要提一个 Cron 表达式 这将决定触发此规则的频率。
    因此,每次触发规则时,它都会执行您的 lambda 函数。而你的 lambda 函数反过来会产生 EMR。通过这种方式,您可以安排您的工作。

    关于java - 如何向单个 AWS EMR 集群提交多个 Spark 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62974092/

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