SuperAPI AI 工具集

huawei-cloud-mrs-hetu-sql-check

数据与分析

查看项目

更新于 10-15 22:15

技能介绍

用途:在 HetuEngine 集群执行前对 SQL 做静态检查,覆盖语法与开发规范,识别 HetuEngine 特有语法及潜在性能反模式。

主要能力:采用分词器→解析器→规则引擎→报告生成的三段式流程。语法检查含 19 条规则(SYN-ERR、SYN001–SYN019),校验关键字有效性、语句结构、子句顺序及 PARTITIONED BY、CLUSTERED BY、STORED AS、TABLESAMPLE、INSERT OVERWRITE、LOAD DATA、CREATE FUNCTION、MATERIALIZED VIEW、FETCH、MATCH_RECOGNIZE、ROW FORMAT、虚拟 Schema 等语法。规范检查含 34 条规则(SPEC001–SPEC034),涉及对象设计、数据操作、命名规范与 SQL 开发建议,如禁止 SELECT *、DELETE/UPDATE 缺 WHERE、笛卡尔积、分区与分桶缺失、存储格式与压缩建议等。支持 DML、DDL、TCL 及 EXPLAIN、SHOW、USE、CALL 等语句。

使用方式:需 Python >= 3.8,仅用标准库。分词:python ~/.cac/skills/huawei-cloud-mrs-hetu-sql-check/scripts/hetu_sql_tokenizer.py "<sql_text>";解析:python ~/.cac/skills/huawei-cloud-mrs-hetu-sql-check/scripts/hetu_sql_parser.py "<sql_text>";检查:python ~/.cac/skills/huawei-cloud-mrs-hetu-sql-check/scripts/hetu_sql_checker.py "<sql_text>" [syntax|spec|all]。默认 syntax+spec,输出 JSON;Markdown 报告可调用 check_sql_markdown("SELECT * FROM t1", "all")。

适用场景:执行前语法校验、开发规范评审、HetuEngine 特有语法与 Hive 兼容语法检查。

限制:仅静态分析,SQL 本地处理不外发,无需凭据;标记 requires_cluster 的规则(SPEC030)在静态模式下跳过;不支持 DISTRIBUTE BY、Oracle (+) 外连接、TIMECAPSULE,Optimizer Hints 仅有限支持。具体收费与平台信息暂未提供。