[发明专利]一种基于Spark SQL临时视图的快速ETL方法在审
申请号: | 202211580856.1 | 申请日: | 2022-12-09 |
公开(公告)号: | CN115809294A | 公开(公告)日: | 2023-03-17 |
发明(设计)人: | 张永强;王冬冬;邓唯玉;王凯;张雄彪;李显锋;陶天林;李庄庄 | 申请(专利权)人: | 武汉达梦数据技术有限公司 |
主分类号: | G06F16/25 | 分类号: | G06F16/25;G06F16/22 |
代理公司: | 武汉智嘉联合知识产权代理事务所(普通合伙) 42231 | 代理人: | 张璐 |
地址: | 430000 湖北省武汉市东湖新技术*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 spark sql 临时 视图 快速 etl 方法 | ||
1.一种基于Spark SQL临时视图的快速ETL方法,其特征在于,包括:
根据目标ETL步骤,构建所述ETL步骤对应的SQL语句,并基于所述SQL语句建立与所述ETL步骤对应的流程节点;
根据所述流程节点,构建目标流程DAG图;
遍历所述目标流程DAG图,得到多个所述流程节点的拓扑序列;
基于所述拓扑序列,依次通过Spark根据所述SQL语句,建立所述流程节点对应的临时视图,根据最后得到的所述临时视图处理数据,并向目标数据库输出目标数据。
2.根据权利要求1所述的基于Spark SQL临时视图的快速ETL方法,其特征在于,所述根据目标ETL步骤,构建所述ETL步骤对应的SQL语句,并基于所述SQL语句建立与所述ETL步骤对应的流程节点,包括:
建立目标节点的节点ID,并根据所述目标节点的节点ID,建立所述目标节点的视图名;
根据所述ETL步骤,建立节点类型;
根据所述目标ETL步骤的动作内容和所述目标节点的视图名,构建所述目标节点的SQL语句;
根据所述目标节点的节点ID、所述节点类型和所述目标节点的SQL语句,构建所述目标节点。
3.根据权利要求2所述的基于Spark SQL临时视图的快速ETL方法,其特征在于,所述根据所述目标ETL步骤的动作内容和所述目标节点的视图名,构建所述目标节点的SQL语句,包括;
获取所述目标节点的上游节点的视图名;
根据所述目标ETL步骤的动作内容、所述目标节点的上游节点的视图名和所述目标节点的视图名,构建所述目标节点的SQL语句。
4.根据权利要求3所述的基于Spark SQL临时视图的快速ETL方法,其特征在于,所述根据所述目标节点的节点ID、所述节点类型和所述目标节点的SQL语句,构建所述目标节点,包括:
根据所述目标ETL步骤,建立JDBC参数;
根据所述目标节点的节点ID、所述节点类型、所述目标节点的SQL语句和所述JDBC参数,构建所述目标节点。
5.根据权利要求4所述的基于Spark SQL临时视图的快速ETL方法,其特征在于,所述流程节点包括数据读取节点、数据处理节点和数据输出节点;所述基于所述拓扑序列,依次通过Spark根据所述SQL语句,建立所述流程节点对应的临时视图,根据最后得到的所述临时视图处理数据,并向目标数据库输出目标数据,包括:
根据所述数据读取节点,构建dataframe数据集,并根据所述数据读取节点对应的SQL语句,将所述dataframe数据集注册至Spark SQL中,得到数据读取临时视图;
根据所述数据读取视图,基于所述拓扑序列,依次根据每个所述数据处理节点的SQL语句,构建每个所述处理节点对应的数据处理临时视图;
根据最终得到的所述数据处理临时视图,基于所述数据输出节点对应的SQL语句处理数据,并向目标数据库输出目标数据。
6.根据权利要求5所述的基于Spark SQL临时视图的快速ETL方法,其特征在于,所述基于所述拓扑序列,依次根据每个所述数据处理节点的SQL语句,构建每个所述处理节点对应的数据处理临时视图,包括:
根据所述拓扑序列,获取所述数据处理节点的上游节点的临时视图;
基于所述数据处理节点的上游节点的临时视图,根据所述数据处理节点对应的SQL语句,构建所述数据处理临时视图;
其中,所述拓扑序列中首个所述数据处理节点的上游视图为所述数据读取临时视图。
7.根据权利要求1所述的基于Spark SQL临时视图的快速ETL方法,其特征在于,所述遍历所述目标流程DAG图,得到多个所述流程节点的拓扑序列,包括:
建立栈,并将所述目标流程DAG图中出度为零的流程节点入栈;
获取栈顶的流程节点,判断所述栈顶的流程节点是否存在上游节点,若是,则将所述栈顶的流程节点的上游节点入栈,若否,则将所述栈顶的流程节点出栈;
根据所述流程节点的出栈顺序,得到所述拓扑序列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉达梦数据技术有限公司,未经武汉达梦数据技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211580856.1/1.html,转载请声明来源钻瓜专利网。