You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Redshift查询存储在AWS Glue中的表描述与列注释元数据

结论

该操作完全可以实现,主流实现方案有以下两种:

方案1:通过Redshift Spectrum关联Glue Data Catalog(推荐)

这是官方原生支持的方案,无需额外开发,操作步骤如下:

  1. 给你的Redshift集群关联具备Glue Data Catalog访问权限的IAM角色,角色需要至少开放glue:GetDatabase、glue:GetTable、glue:GetColumns权限。
  2. 在Redshift中执行以下SQL创建绑定Glue数据库的外部Schema:
CREATE EXTERNAL SCHEMA glue_meta_schema
FROM DATA CATALOG
DATABASE '替换为你的Glue数据库名称'
REGION '替换为你的AWS资源所在区域,比如cn-north-1'
IAM_ROLE '替换为你的Redshift关联IAM角色ARN,格式为arn:aws:iam::账户ID:role/角色名';
  1. 直接查询Redshift系统视图获取元数据:
  • 查询指定Schema下所有表的元数据(含表描述):
SELECT tablename, location, input_format, table_comment 
FROM svv_external_tables 
WHERE schemaname = 'glue_meta_schema';
  • 查询指定表的字段元数据(含列注释):
SELECT column_name, data_type, comment AS column_comment
FROM svv_external_columns
WHERE schemaname = 'glue_meta_schema' AND tablename = '替换为你要查询的表名';

方案2:自定义同步Glue元数据到Redshift

如果你有高频查询元数据、自定义扩展元数据字段的需求,可以用以下方案实现:

  1. 在Redshift中提前创建自定义元数据表,存储表描述、列注释等字段。
  2. 配置Glue元数据更新事件触发Lambda函数,每次Glue表/字段新增、修改时,Lambda自动将最新的元数据写入Redshift的自定义表中。
  3. 后续直接查询自定义的元数据表即可获取所需信息。

注意事项

如果查询时发现注释为空,优先检查关联的IAM角色权限是否配置完整,其次确认Glue中的表、列注释已经正常保存。

内容的提问来源于stack exchange,提问作者Chris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 19:48:01