[英]How to submit multiple spark jobs to single AWS EMR cluster
我正在尝试向 EMR 集群提交多个作业,但我只看到运行 state 和 rest 的第一个作业都在 Accepted state 中。 我的大部分工作都是流式工作。
我有以下查询:
我正在使用 Java 进行开发。 任何输入都会非常有帮助。
如果 EMR 中的多个步骤不相互依赖,那么您可以使用 EMR 中称为Concurrency
的功能来解决您的用例。 此功能仅意味着您一次可以并行运行多个步骤。
此功能来自 EMR 版本5.28.0 。 如果您使用的是旧版本,则无法使用此功能。
从 AWS 控制台启动 EMR 时,此功能在 UI 中称为“并发” 。 您可以选择 1 到 256 之间的任何数字。
如果您从 AWS CLI 启动 EMR,则此功能称为“StepConcurrencyLevel” 。
您现在可以在 EMR和AWS CLI 详细信息中的多个步骤中阅读有关此内容的更多信息
回答您关于如何处理计划作业的第二个问题?
有多种方法可以做到这一点。 我能想到的一种简单方法是编写一个生成此 EMR 的 lambda function 。 现在,可以在 AWS cloudwatch 中安排这个 lambda function 以您想要的任何频率运行(比如每 15 分钟或任何时间间隔)。 您只需要提及一个Cron 表达式,它将决定触发该规则的频率。
因此,每次触发规则时,它都会执行您的 lambda function。 而您的 lambda function 反过来会产生 EMR。 通过这种方式,您可以安排您的工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.