AWS Glue Crawler glob排除路径模式配置不生效问题咨询
AWS Glue Crawler S3排除规则不生效修复方案
你配置的glob规则失效基本是两个原因导致的,对应调整即可:
- 排除规则的匹配作用域错配:Glue Crawler的排除规则是和单个包含路径绑定的,不是全局生效。你需要确认
brand=abc/client=xxx/**这条规则是直接挂在s3://dev-bronze/api/sp/reports/xyz/这个包含路径条目下的,而不是挂在其他S3包含路径下、或是作为独立的全局规则配置。 - 规则匹配覆盖范围不全:你当前写的
brand=abc/client=xxx/**只能匹配client=xxx目录下嵌套的子文件、子文件夹,无法匹配直接存放在client=xxx目录下的根文件,也无法匹配目录本身,会出现漏排除的情况。
推荐配置(最稳妥无坑)
直接在对应包含路径下配置完整路径的排除规则,不需要做相对路径换算,不会出现匹配错位:
s3://dev-bronze/api/sp/reports/xyz/brand=abc/client=xxx/**
如果你更习惯用相对路径写法,就在规则最前面补全任意层级匹配符,兼容可能存在的路径层级偏差:
**/brand=abc/client=xxx/**
配置后验证注意点
规则修改完成后,先手动删除之前Crawler运行时误爬取生成的、属于
client=xxx路径下的表和分区元数据,再重新启动Crawler任务。Glue不会自动删除已经写入Data Catalog的旧元数据,不清理的话会让你误以为规则没有生效。
内容的提问来源于stack exchange,提问作者Nabeel Khan Ghauri
相关产品推荐
相关产品推荐

