AWS Glue 爬虫和存储在 S3 中的大表
AWS Glue Crawlers and large tables stored in S3
我有一些关于 AWS Glue 及其爬网程序的一般性问题。我有一些数据流到 S3 存储桶中,我使用 AWS Athena 在 redshift 中将它们作为外部 tables 访问。
table 是按小时分区的,一些胶水爬虫每小时更新一次分区和 table 结构。
问题是爬虫花费的时间越来越长,总有一天他们不会在不到一个小时的时间内完成。
是否有一些设置可以加快此过程或 AWS Glue 中爬虫的一些适当替代方案?
遗憾的是,Glue Crawlers 没有用于调整性能的配置选项。但是,据我所知,AWS Glue 团队应该会发布一项可显着提高爬虫性能的功能(虽然不知道日期)。
一般来说,在 Data Catalog 中注册新分区的方法很少:
- Run a Glue Crawler
- Run
MSCK REPAIR TABLE <table>
Athena query
- Add partition via Athena
- Add partition via Glue API
最有效的方法是手动添加分区(3 或 4)。因此,如果您知道何时以及应该注册哪些新分区,那么您可以设置一个 lambda 函数来调用 Athena 或 Glue API。 lambda 本身可能由 SNS 或 CloudWatch 事件触发。
我有一些关于 AWS Glue 及其爬网程序的一般性问题。我有一些数据流到 S3 存储桶中,我使用 AWS Athena 在 redshift 中将它们作为外部 tables 访问。 table 是按小时分区的,一些胶水爬虫每小时更新一次分区和 table 结构。
问题是爬虫花费的时间越来越长,总有一天他们不会在不到一个小时的时间内完成。 是否有一些设置可以加快此过程或 AWS Glue 中爬虫的一些适当替代方案?
遗憾的是,Glue Crawlers 没有用于调整性能的配置选项。但是,据我所知,AWS Glue 团队应该会发布一项可显着提高爬虫性能的功能(虽然不知道日期)。
一般来说,在 Data Catalog 中注册新分区的方法很少:
- Run a Glue Crawler
- Run
MSCK REPAIR TABLE <table>
Athena query - Add partition via Athena
- Add partition via Glue API
最有效的方法是手动添加分区(3 或 4)。因此,如果您知道何时以及应该注册哪些新分区,那么您可以设置一个 lambda 函数来调用 Athena 或 Glue API。 lambda 本身可能由 SNS 或 CloudWatch 事件触发。