SQL模型字典表核心是将分散SQL沉淀为可管理、可追溯、可复用的元数据,通过model_dict、model_param、model_dependency和model_version四张表,实现身份标识、动态参数、依赖追踪与版本快照一体化管理。

SQL模型字典表的核心目标是把分散在代码、配置文件或ETL脚本中的SQL逻辑,统一沉淀为可管理、可追溯、可复用的元数据。关键不是堆字段,而是让“谁在什么时候用了哪段SQL干了什么事”一目了然。
核心表结构:model_dict(模型字典主表)
记录每个逻辑模型的基本身份和生命周期信息。
- model_code:唯一业务编码(如 dwd_user_login_di),不依赖数据库名/表名,用于跨系统关联
- model_name:中文名称(如“用户日登录事实表”),面向业务理解
- model_type:枚举值(view / table / materialized_view / cte),明确产出形态
- source_sql:原始SQL文本(支持含${xxx}占位符的模板化写法)
- status:draft / published / deprecated,控制上线节奏
- created_by + updated_by:绑定账号体系,留痕责任人
- created_at + updated_at:自动更新时间戳
参数与变量表:model_param(支撑SQL动态化)
解决硬编码问题,让同一段SQL适配不同环境、周期或租户。
- model_code:外键关联 model_dict
- param_key:变量名(如 start_date、env、tenant_id)
- param_value:默认值(如 '{{ ds }}' 或 'prod')
- is_required:是否运行时必须传入(避免漏配)
- desc:说明用途(如“分区起始日期,格式 YYYY-MM-DD”)
依赖关系表:model_dependency(厘清血缘与影响范围)
自动识别“这张表被哪些模型引用”,支撑影响分析和下线评估。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~