用途:面向华为云 DWS 的 SQL 规范性检查技能,用于在集群执行前校验 SQL 语法、按 DWS 开发设计规范审查语句,并识别潜在性能反模式。
主要能力:采用分词→解析→规则引擎→报告生成的三阶段流程。内置自定义 DWS 分词器与递归下降解析器,支持 594 个 DWS 关键字、DWS 专有语法(DISTRIBUTE BY、PARTITION BY、MERGE、INSERT OVERWRITE、ON DUPLICATE KEY UPDATE、Oracle (+) 外连接、优化器提示、TIMECAPSULE 等)。提供三种检查模式:syntax(语法)、spec(规范)、all(两者),默认 syntax+spec。语法规则 19 条(SYN-ERR、SYN001–SYN019),规范规则 40 条(SPEC001–SPEC040),覆盖对象设计、数据操作、命名、SQL 开发等类别。
使用方式:仅需 Python >= 3.8,无需额外依赖,纯静态分析、SQL 文本本地处理、不外发数据、无需凭证。常用命令: python ~/.cac/skills/huawei-cloud-dws-sql-check/scripts/dws_sql_checker.py "<sql_text>" all 也可分别运行 dws_sql_tokenizer.py 与 dws_sql_parser.py 做分词和解析。
适用场景:执行前语法校验、SQL 规范评审、DWS 专有语法正确性检查、性能反模式识别。
限制:标记 Requires cluster 的规则(SPEC029、SPEC034、SPEC040)及性能规则 PERF001–PERF011 需集群连接,静态模式下跳过;报告含规则 ID、级别、行列位置、描述与修复建议。其余细节资料未提供。