定期安排 AWS Glue 爬虫有什么用。 运行 好像一次就够了
what's the use of periodically scheduling a AWS Glue crawler. Running it once seems to be enough
我根据 S3 存储桶的内容创建了一个 AWS glue table。这使我可以使用 AWS Athena 查询此 S3 存储桶中的数据。我已经定义了一个 AWS Glue 爬虫,运行 它曾经自动确定数据的架构。这一切都很好。
之后,所有新上传到 S3 存储桶中的数据都很好地反映在 table 中。 (通过在 Athena 中执行 select count(*) ...
。
为什么我需要定期 运行(即:安排)AWS Glue 爬虫?毕竟,如前所述,对 s3 存储桶的更新似乎已正确反映在 table 中。是为了更新 table 上的统计信息以便优化查询计划器还是什么?
需要爬网程序才能在 Data Catalog 中注册新的数据分区。例如,您的数据位于文件夹 /data 中并按日期 (/data/year=2018/month=9/day=11/<data-files>
) 分区。每天文件都会进入一个新文件夹(day=12
、day=13
等)。要使新数据可用于查询这些分区,必须在数据目录中注册,这可以通过 运行 爬虫来完成。替代解决方案是 运行 'MSCK REPAIR TABLE {table-name}' in Athena。
除此之外,爬虫还可以检测架构的变化并采取适当的措施depending on your configuration。
我根据 S3 存储桶的内容创建了一个 AWS glue table。这使我可以使用 AWS Athena 查询此 S3 存储桶中的数据。我已经定义了一个 AWS Glue 爬虫,运行 它曾经自动确定数据的架构。这一切都很好。
之后,所有新上传到 S3 存储桶中的数据都很好地反映在 table 中。 (通过在 Athena 中执行 select count(*) ...
。
为什么我需要定期 运行(即:安排)AWS Glue 爬虫?毕竟,如前所述,对 s3 存储桶的更新似乎已正确反映在 table 中。是为了更新 table 上的统计信息以便优化查询计划器还是什么?
需要爬网程序才能在 Data Catalog 中注册新的数据分区。例如,您的数据位于文件夹 /data 中并按日期 (/data/year=2018/month=9/day=11/<data-files>
) 分区。每天文件都会进入一个新文件夹(day=12
、day=13
等)。要使新数据可用于查询这些分区,必须在数据目录中注册,这可以通过 运行 爬虫来完成。替代解决方案是 运行 'MSCK REPAIR TABLE {table-name}' in Athena。
除此之外,爬虫还可以检测架构的变化并采取适当的措施depending on your configuration。