等待爬行器和作业作为胶水作业触发器的依赖项

use*_*775 1 aws-glue

我试图弄清楚如何协调对爬虫和胶粘作业具有上游依赖性的作业。

当前,AWS Glue作业触发器支持其他作业的完成,但不支持搜寻器。如果我想在PrevJobA和CrawlerB完成后执行工作,有没有人找到这样做的好方法?

从另一个问题来看,爬虫似乎会发出CloudWatch Events。爬虫是否可以通过发送带有lambda的事件来伪造工作? 爬网程序完成后如何启动AWS Glue作业

Yur*_*ruk 5

不幸的是,没有内置选项可以设置Glue搜寻器和作业之间的依赖关系。但是,您可以使用StepFunction和Lambdas对其进行编排,或者使用CloudWatch事件和Lambdas自动进行编排。

第一个更加灵活和清晰,因为您正在构建一个工作流程,其中包含可以监视的任何复杂步骤。通过调用Glue API通过AWS开发工具包触发抓取工具和作业。顺便说一句,最近,AWS宣布了对Glue作业调用的本机支持,因此无需一个或两个Lambda。

借助CloudWatch事件,可以实现一些简单的情况(例如,搜寻器完成时触发作业)。可以使用与其他任何类型的CW事件相同的方式来创建CloudWatch规则,您只需要选择适当的事件类型即可(请参阅“详细信息类型”的事件:“胶履带状态更改”)。通过这种方法,以视觉方式监视当前正在发生的事情并不是很方便,但是对于简单的案例来说,它仍然是很好的解决方案。

除此之外,您还可以结合使用这两种方法,以便Glue根据定义的时间表触发搜寻器,CloudWatch规则在收到来自Glue Crawler的“成功”事件时触发Lambda,然后Lambda触发StepFunction以适当的顺序启动ETL作业。