【技术实现步骤摘要】
SQL语句自动生成方法、装置、设备及可读存储介质
本专利技术涉及人工智能领域,尤其涉及一种SQL语句自动生成方法、装置、设备及可读存储介质。
技术介绍
SAS@EnterpriseMinerTM,下文称为SASEM,是SAS公司推出的一款强大的数据挖掘软件。软件集成了多种统计与模型,再加上易于使用的图形化界面,使得广泛应用于各行各业中。其中,金融领域常用SASEM的决策树与逻辑回归模型进行快速建模,应用于信贷风险等业务场景。虽然SASEM训练好的模型,会自动生成完整的SAS评分代码,可部署模型于SAS服务器,部分模型可生成C或JAVA,但仍然不能满足所有的部署场景。如目前广泛使用的Hadoop大数据生态圈中,部署在HIVE数据仓库上是其中一种迫切需要的任务。现在的方法是当建模人员使用SASEM预测完一个模型并生成SAS评分代码后,交给数据库管理员将SAS评分代码翻译为SQL代码,进行生产部署运行。但是,手工编写SQL代码的方式效率低、错误率高;并且在用户数据变化快、增加迅速的情况下,SAS模型需要进行高频迭代更新,手 ...
【技术保护点】
1.一种SQL语句自动生成方法,其特征在于,所述SQL语句自动生成方法包括以下步骤:/n对待转化的SAS评分代码进行词法分析和语法分析得到语法分析树;/n定位所述语法分析树中的关键语法节点,并将各所述关键语法节点对应的SAS语句转化为子SQL语句;/n拼接各所述子SQL语句得到所述SAS评分代码对应的完整SQL语句。/n
【技术特征摘要】
1.一种SQL语句自动生成方法,其特征在于,所述SQL语句自动生成方法包括以下步骤:
对待转化的SAS评分代码进行词法分析和语法分析得到语法分析树;
定位所述语法分析树中的关键语法节点,并将各所述关键语法节点对应的SAS语句转化为子SQL语句;
拼接各所述子SQL语句得到所述SAS评分代码对应的完整SQL语句。
2.如权利要求1所述的SQL语句自动生成方法,其特征在于,当所述SAS评分代码是逻辑回归模型对应的SAS评分代码时,所述定位所述语法分析树中的关键语法节点,并将各所述关键语法节点对应的SAS语句转化为子SQL语句的步骤包括:
遍历所述语法分析树中各个语法节点,将所述SAS评分代码中赋值语句对应的语法节点作为关键语法节点;
将所述关键语法节点所对应赋值语句中待赋值变量的值转化为子SQL语句,并将所述待赋值变量和所述子SQL语句关联存入预设的全局字典中;
所述拼接各所述子SQL语句得到所述SAS评分代码对应的完整SQL语句的步骤包括:
从所述全局字典中提取逻辑回归公式中多项式对应的变量,将所述多项式对应的变量的子SQL语句与预设外围SQL语句拼接,得到所述SAS评分代码对应的完整SQL语句。
3.如权利要求2所述的SQL语句自动生成方法,其特征在于,所述将所述待赋值变量和所述子SQL语句关联存入预设的全局字典中的步骤包括:
对于处于条件控制语句的条件分支下的待赋值变量,将所述待赋值变量在各条件分支下转化得到的各子SQL语句进行拼接,将所述待赋值变量和拼接后的子SQL语句关联存入预设的全局字典中;
对于不处于条件控制语句下的待赋值变量,采用所述待赋值变量转化得到的子SQL语句,覆盖当前所述全局字典中所述待赋值变量关联的子SQL语句。
4.如权利要求1所述的SQL语句自动生成方法,其特征在于,当所述SAS评分代码是决策树模型对应的SAS评分代码时,所述定位所述语法分析树中的关键语法节点的步骤包括:
遍历所述语法分析树中各个语法节点,将所述SAS评分代码中条件控制语句对应的非叶子语法节点,以及赋值语句对应的叶子语法节点作为关键语法节点;
所述拼接各所述子SQL语句得到所述SAS评分代码对应的完整SQL语句的步骤包括:
将所述关键语法节点中孩子节点...
【专利技术属性】
技术研发人员:刘玉德,黄启军,李诗琦,林冰垠,陈天健,
申请(专利权)人:深圳前海微众银行股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。