使用AWS Step功能使用EMR Serverless编排作业



最近亚马逊推出了EMR Serverless,我想重新利用我现有的使用AWS步骤函数的数据管道编排:有创建EMR集群的步骤,运行一些lambda函数,提交Spark作业(主要是使用Spark -submit的Scala作业),最后终止集群。所有这些步骤都是同步类型(arn:aws:states:::elasticmapreduce:addStep.sync)

有文档和github示例描述了从编排框架(如气流)提交作业,但没有描述如何使用AWS Step Function与EMR Serverless。在这方面的任何帮助,我都很感激。

我主要感兴趣的是重新利用arn:aws:states:::elasticmapreduce:addStep.sync类型的任务步骤函数,该函数接受ClusterId等参数,但在EMR无服务器的情况下,没有这样的id。

总之,是否有等效的调用亚马逊EMR与步骤函数的EMR无服务器?

目前没有EMR Serverless与Step Functions的直接集成。然而,一种可能的解决方案是在顶部添加Lambda层,并使用SDK创建emr无服务器应用程序和提交作业。然而,您将需要一个额外的lambda来实现跟踪作业成功的轮询器(在相互依赖的作业的情况下),因为emr作业很可能会超过lambda的15分钟运行时限制。

最新更新