等待爬虫和作业作为胶水作业触发器的依赖项
Waiting on Crawlers and Jobs as Dependencies for Glue Job Triggers
我正在尝试弄清楚如何编排一个对爬虫有上游依赖的作业以及胶水作业。
目前,AWS Glue 作业触发器支持完成其他作业,但不支持爬虫。如果我想在 PrevJobA 和 CrawlerB 完成后执行作业,有没有人找到这样做的好方法?
从另一个问题来看,爬虫似乎会发出 CloudWatch Events。爬虫是否可以通过使用 lambda 发送事件来伪装成一个作业?
遗憾的是,没有用于设置 Glue 爬虫和作业之间依赖关系的内置选项。但是,您可以 orchestrate it using StepFunction and Lambdas 或使用 CloudWatch 事件和 Lambda 实现自动化。
第一个更灵活和清晰,因为您正在构建一个工作流,其中包含您可以监控的任何复杂步骤。通过调用 Glue API. BTW, recently AWS announced native support of Glue jobs invocations 通过 AWS SDK 触发爬网程序和作业,因此无需使用一个或两个 Lambda。
使用 CloudWatch 事件可以实现一些简单的情况(例如爬虫完成时触发作业)。 CloudWatch 规则的创建方式与任何其他类型的 CW 事件相同,您只需 select 适当的事件类型(请参阅 events for "detail-type":"Glue Crawler State Change")。使用这种方法,无法直观地监控当前正在发生的事情,但对于简单的情况来说,它仍然是一个很好的解决方案。
此外,您可以结合这两种方法,以便根据定义的时间表由 Glue 触发爬虫,CloudWatch 规则在从 Glue Crawler 接收到 "Succeeded" 事件时触发 Lambda,然后 Lambda 触发启动 ETL 作业的 StepFunction顺序正确。
自 2019 年 6 月起,您可以在 Glue 中使用 workflows
。
工作流允许您通过在 Glue 作业、触发器和爬虫之间建立依赖关系来编排 ETL 作业。
您可以找到更多关于工作流的文档here
我正在尝试弄清楚如何编排一个对爬虫有上游依赖的作业以及胶水作业。
目前,AWS Glue 作业触发器支持完成其他作业,但不支持爬虫。如果我想在 PrevJobA 和 CrawlerB 完成后执行作业,有没有人找到这样做的好方法?
从另一个问题来看,爬虫似乎会发出 CloudWatch Events。爬虫是否可以通过使用 lambda 发送事件来伪装成一个作业?
遗憾的是,没有用于设置 Glue 爬虫和作业之间依赖关系的内置选项。但是,您可以 orchestrate it using StepFunction and Lambdas 或使用 CloudWatch 事件和 Lambda 实现自动化。
第一个更灵活和清晰,因为您正在构建一个工作流,其中包含您可以监控的任何复杂步骤。通过调用 Glue API. BTW, recently AWS announced native support of Glue jobs invocations 通过 AWS SDK 触发爬网程序和作业,因此无需使用一个或两个 Lambda。
使用 CloudWatch 事件可以实现一些简单的情况(例如爬虫完成时触发作业)。 CloudWatch 规则的创建方式与任何其他类型的 CW 事件相同,您只需 select 适当的事件类型(请参阅 events for "detail-type":"Glue Crawler State Change")。使用这种方法,无法直观地监控当前正在发生的事情,但对于简单的情况来说,它仍然是一个很好的解决方案。
此外,您可以结合这两种方法,以便根据定义的时间表由 Glue 触发爬虫,CloudWatch 规则在从 Glue Crawler 接收到 "Succeeded" 事件时触发 Lambda,然后 Lambda 触发启动 ETL 作业的 StepFunction顺序正确。
自 2019 年 6 月起,您可以在 Glue 中使用 workflows
。
工作流允许您通过在 Glue 作业、触发器和爬虫之间建立依赖关系来编排 ETL 作业。
您可以找到更多关于工作流的文档here