如何修改AWS Glue Catalog的默认表名命名规则
问题解答
首先可以肯定的是,你说的默认命名规则完全可以修改,这个拼接库名、schema名的默认行为是Glue Crawler爬取多层级结构数据源(比如JDBC、数仓类数据源)时的默认配置,调整方法如下:
场景1:使用Glue Crawler同步元数据
这是绝大多数用户遇到该问题的场景,直接修改Crawler配置即可:
- 进入Glue控制台的Crawler管理页面,打开对应Crawler的编辑界面
- 找到「输出配置」模块,取消勾选在表名中包含源端数据库和schema名称的选项(不同区域的控制台描述可能略有差异,核心是关闭表名拼接上层结构名的开关)
- 如果你使用的是CLI/SDK配置Crawler,可以在Crawler的配置参数中添加
'SchemaChangePolicy': {'UpdateBehavior': 'UPDATE_IN_DATABASE', 'DeleteBehavior': 'DEPRECATE_IN_DATABASE'}, 'TablePrefix': '',同时设置IncludeTableNamePrefix参数为false - 保存配置后重新运行Crawler,新生成的表就会直接使用源端原始表名
场景2:自定义脚本写入元数据到Glue Catalog
如果你是通过Glue Job/自定义脚本主动注册元数据,直接在调用元数据写入接口时指定TableName参数为源端原始表名即可,不需要额外拼接前缀。
注意:如果你的同一个Glue Database下要存储多个源端库/schema的表,取消前缀后可能出现同名表覆盖的问题,建议调整前先排查是否存在同名表,必要时按源端库/schema拆分不同的Glue Database存储。
内容的提问来源于stack exchange,提问作者AAMIR KHAN
相关产品推荐
相关产品推荐

