[发明专利]一种Flink框架运行ETL的流程方法和装置有效
申请号: | 202111639178.7 | 申请日: | 2021-12-29 |
公开(公告)号: | CN114385137B | 公开(公告)日: | 2022-11-08 |
发明(设计)人: | 高东升;梅纲;吴鑫;胡高坤;付晨玺 | 申请(专利权)人: | 武汉达梦数据库股份有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F16/25;G06F16/901 |
代理公司: | 深圳市六加知识产权代理有限公司 44372 | 代理人: | 向彬 |
地址: | 430000 湖北省武汉市东湖新技术开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 flink 框架 运行 etl 流程 方法 装置 | ||
1.一种Flink框架运行ETL的流程方法,其特征在于,运行ETL的流程方法包括:
将ETL组件分解,并构造ETL组件分解后的有向无环图FlinkFuncDAG;
ETL增加内置虚拟组件MessageCollector与ProcessSource;
所述MessageCollector为FlinkFuncDAG的消息发送组件,通过flink算子的SourceContext或Collector发送转换后的消息到下一个Flink算子;
ProcessSource为FlinkFuncDAG的数据源组件,上一个Flink算子通过processElement或flatMap方法将所述消息推送给消息队列,ProcessSource组件从消息队列读取上游算子发送的消息;
Flink算子的Function内初始化并启动FlinkFuncDAG的运行,完成消息的转换处理;
ETL组件分解后的ETL流程子集在flink算子的SourceFunction与ProcessFunction中运行;Flink的SourceFunction多任务并发读取数据源数据;Flink的ProcessFunction多任务并发处理数据。
2.根据权利要求1所述的Flink框架运行ETL的流程方法,其特征在于,所述ETL组件分解,具体包括:
遍历ETL的有向无环图DAG,识别出一个或者多个Splitting属性的节点;其中,所述Splitting属性节点包括数据源节点、FLINK_MESSAGE_SHARED_NODE属性的节点与需要转化为Flink算子的节点中的一个或者多个;
按照ETL流程DAG有向无环图节点先后顺序,从数据源节点开始,以相邻的两个所述Splitting属性的节点作为依据,生成由相邻的两个所述Splitting属性的节点之间的一个或者多个ETL节点以及节点之间的连接线构成的ETL流程子集,在Flink算子中使用;构造所述两个相邻Splitting属性的节点之间所对应的flink API语句操作算子链;
其中,在生成所述子集过程中,为每一个所述ETL流程子集分别构建TYPE_FLINK_PROCESS_SOURCE节点用于接收上一个Flink算子输出的数据集或者数据流,以及TYPE_FLINK_PROCESS_SINK节点用于将ETL流程子集转换处理后的数据发送给下一个flink算子;从而将ETL的处理过程承载到Flink框架中完成。
3.根据权利要求2所述的Flink框架运行ETL的流程方法,其特征在于,所述ETL组件分解后在Flink的SourceFunction或者Flink的ProcessFunction中运行,具体包括:
Flink的SourceFunction通过run方法的参数SourceContext将从数据源节点读取到的数据发送到下游子集的Flink算子;ProcessFunction通过processElement或flatMap方法将接收到的消息推送到消息队列,ProcessSource组件从消息队列读取上游算子发送的消息,并在FlinkFuncDAG进行消息的转换处理,转换后的数据通过参数Collector发送到下游子集的Flink算子。
4.根据权利要求1所述的Flink框架运行ETL的流程方法,其特征在于,所述Flink的SourceFunction多任务并发读取数据源数据,具体包括:
ETL流程中包括至少一个数据源节点,所述ETL流程中的数据源节点对应为Flink的SourceFunction的类型包括有界流可分片数据源、有界流非并行数据源、无界流数据源与Flink Connector提供的SourceFunction实现数据源数据的读取,通过将数据源进行分片或分区,Flink的SourceFunction多任务并发读取分片或分区后的数据源。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉达梦数据库股份有限公司,未经武汉达梦数据库股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111639178.7/1.html,转载请声明来源钻瓜专利网。