如何让AWS Glue Crawler重新扫描已删除分区对应的S3文件夹
AWS Glue增量扫描Crawler强制重扫指定S3路径的解决方案
Glue仅扫描新增文件夹的增量Crawler依靠内部维护的已扫描路径清单判断是否跳过路径,你删除元数据分区后,对应S3路径仍在已扫描清单中,因此不会被重新识别。无需修改Crawler的默认增量扫描配置,可通过以下方法实现指定路径重扫:
方法1:运行时指定重扫路径(仅本次运行生效)
该方法不会改动Crawler的持久配置,仅对当次运行有效,后续启动仍保持增量扫描逻辑:
- 控制台操作:进入Crawler详情页,点击「运行」旁的下拉箭头,选择运行时重扫特定路径,输入目标S3路径后启动即可。
- CLI操作示例:
aws glue start-crawler-run \ --name <替换为你的Crawler名称> \ --recrawl-policy '{"RecrawlBehavior": "CRAWL_SELECTED_PATHS", "Paths": ["s3://<替换为你的桶名>/<需要重扫的分区路径>"]}'
方法2:重置指定路径的扫描标记(永久生效)
如果需要让目标路径后续也会被Crawler正常识别,可先清除Crawler内部存储的该路径扫描标记:
- 调用
reset-crawler-attribute接口重置指定路径的扫描记录,CLI示例:
aws glue reset-crawler-attribute \ --name <替换为你的Crawler名称> \ --attribute-name "CRAWLED_PATHS" \ --attribute-values "s3://<替换为你的桶名>/<需要重扫的分区路径>"
- 重置完成后正常启动Crawler即可,该路径会被识别为未扫描的新路径,不会影响其他路径的增量扫描逻辑。
方法3:临时创建独立Crawler扫描
如果不想改动原有Crawler的任何状态,可临时创建一个仅扫描目标路径的一次性Crawler,扫描生成的元数据可写入同一个Data Catalog表,扫描完成后删除临时Crawler即可,完全不影响原有Crawler的运行规则。
内容的提问来源于stack exchange,提问作者Isac Casapu
相关产品推荐
相关产品推荐

