📘 数联物理建模 Skill(PhysicalModelDDLToTemplate)
DDL 解析模板填充XML 原地修补大小写归一
将建表 SQL(Hive / Inceptor 方言)解析后填充「物理模型模板.xlsx」,
输出与模板逐字节同构(表头共享字符串、样式表零改动)的导入文件。
填充规则
- 模型表列表:路径/名称 + 固定值(数据源=物理模型专用、资产类型=INCEPTOR、存储类型=HOLODESK、事务表=是、加密/敏感=false)+ 数据分层(ods→ODS / mds→MDS / ads→ADS / 其余→CDM)+ 主题域(你填写的值)
- 模型字段列表:按 SQL 字段顺序逐行填写;DECIMAL(32,8) → 类型=DECIMAL、参数=32,8;无 NOT NULL → 可为空=是;分区字段追加在最后
- 模型分区列表:分区类型=单值分区,字段取自 PARTITIONED BY
- 模型分桶列表:分桶字段取自 CLUSTERED BY,rowkey 取自 TBLPROPERTIES "holodesk.rowkey"
- 模型关系 / 元数据关联 / 关联SQL文件列表:不填信息
必填确认项
| 项目 | 示例 | 说明 |
| 物理模型路径 | /cdm/启信宝 | 自动转小写;填错导入时报"物理路径错误" |
| 主题域 | /数据域/流量域/API调用日志 | 必填;填错导入时报"主题域不存在" |
使用方式
- 本页面:粘贴 SQL → 填路径/主题域 → 解析预览 → 生成并下载
- Claude Code 对话:直接说"根据这条建表语句生成物理模型"并附 SQL,Skill 自动调用
- 命令行:
python filler.py input.sql --model-path "/cdm/启信宝" --theme "/数据域/流量域"
文件位置
Skill 定义:C:\Users\lee\.claude\skills\PhysicalModelDDLToTemplate\SKILL.md
核心脚本:C:\Users\lee\.claude\skills\PhysicalModelDDLToTemplate\filler.py
可视化服务:C:\Users\lee\physical-model-skill\server.py(端口 8765)
模板:D:\lee\数联\物理模型解析导入\物理模型模板.xlsx
输出目录:C:\Users\lee\physical-model-skill\output\
校验与异常处理
展开查看完整异常处理表
| 情况 | 行为 |
| 缺少库名(非 库.表 格式) | 报错,提示完整格式 |
| 括号不配对 / 无字段 | 报错,提示检查语句 |
| 主题域未填写 | 报错,必填提醒 |
| 字段缺 COMMENT | 继续生成,页面黄色警告列出 |
| 缺 PARTITIONED BY / CLUSTERED BY | 继续生成,对应 Sheet 留空并警告 |
| PRIMARY KEY 等约束行 | 跳过并警告 |
| 输出文件被 Excel 占用 | 提示关闭文件后重试 |