【发布时间】:2021-05-26 02:24:21
【问题描述】:
我有一个用例,我需要创建一个 AWS Glue Crawler 来爬取存储在 S3 中的一些数据,启动爬虫,然后在爬取完成数据后删除爬虫。
我遇到的困境是爬虫可能需要很长时间才能完成,有时需要 20-30 分钟才能完成对实际数据的爬取,然后才能将其删除。
最初我打算使用 AWSGlueAsyncClient 解决这个问题,这样我就可以编写一个回调,这样当爬虫完成时,它会立即被删除,而不是阻塞调用线程 20-30 分钟。
这样的问题是,如果服务器在爬虫完成的 20 到 30 分钟窗口内关闭或中断,它将不再被删除。
什么是持久化爬虫删除步骤的好方法,这样即使服务器出现故障,它仍然会在爬虫重新启动后尝试删除它?数据库似乎有点矫枉过正。
【问题讨论】:
-
在许多情况下不需要胶水爬虫。您可能需要考虑使用 from_options 而不是 from_catalog 进行阅读。 From_options 您可以直接从 S3 或其他来源读取。 docs.aws.amazon.com/glue/latest/dg/…
标签: amazon-web-services aws-glue aws-java-sdk