一种ETL系统的高效流程编排方法及系统技术方案

技术编号:24517618 阅读:25 留言:0更新日期:2020-06-17 06:48
本发明专利技术公开了一种ETL系统的高效流程编排方法及系统,本方案基于分布式计算引擎Spark,将各个操作抽象化并封装为一个个插件,然后提供可视化的流程编排将插件根据处理逻辑串联起来形成有向无环图DAG。以实现对海量数据ETL处理。插件支持动态升级和扩展,只需实现定义的对应接口并上传。插件会动态加载,然后在流程编排界面便能使用该插件。解决了现有方案在处理海量数据时较慢、存在较高的门槛、不够灵活且管理分散不易分析其血缘关系的问题。

An efficient flow arrangement method and system of ETL System

【技术实现步骤摘要】
一种ETL系统的高效流程编排方法及系统
本专利技术涉及数据库领域,特别涉及一种ETL系统的高效流程编排方法及系统。
技术介绍
随着90年代后期Internet的兴起与飞速发展,我们进入了一个新的时代,大量的信息和数据,迎面而来,用科学的方法去整理数据,从而从不同视角对企业经营各方面信息的精确分析、准确判断,比以往更为迫切,实施商业行为的有效性也比以往更受关注。使用这些技术建设的信息系统我们称为数据仓库系统。随着数据仓库技术应用的不断深入,近几年数据仓库技术得到长足的发展。典型的数据仓库系统,比如:经营分析系统,决策支持系统等等。也随着数据仓库系统带来的良好效果,各行各业的单位,已经能很好的接受“整合数据,从数据中找知识,运用数据知识、用数据说话”等新的关系到改良生产活动各环节、提高生产效率、发展生产力的理念。数据仓库技术就是基于数学及统计学严谨逻辑思维的并达成“科学的判断、有效的行为”的一个工具。数据仓库技术也是一种达成“数据整合、知识管理”的有效手段。数据仓库是面向主题的、集成的、与时间相关的、不可修改的数据集合。这是数据仓库技术特征的定位。现有的数据库的相关技术大多分为以下几类:1、传统的ETL工具,多使用集中式处理,海量数据处理较慢;2、提供编写SQL的入口;3、海量数据的ETL操作的定制化开发服务。实现以上相关技术方案大致如下:1、首先整理数据处理需求;2、根据数据结构将非结构化数据或半结构化数据定制开发整理为结构化数据;3、提供SQL编辑工具,然后使用SQL的方式实现数据处理。而采用上述方案存在以下问题:1、传统的ETL工具,集中式处理,在处理海量数据时较慢;2、提供SQL编写入口,该方式存在较高的SQL学习门槛;3、针对不同的需求定制开发,不够灵活,且管理分散不易分析其血缘关系。
技术实现思路
本专利技术的目的在于:提供了一种ETL系统的高效流程编排方法及系统,解决了现有方案在处理海量数据时较慢、存在较高的门槛、不够灵活且管理分散不易分析其血缘关系的问题。本专利技术采用的技术方案如下:一种ETL系统的高效流程编排方法,包括以下步骤:S1、用户端加载已经上传的所有插件;S2、用户根据处理逻辑流程对插件进行编排,将插件并串接为DAG;S3、用户端对DAG进行解析,配置DAG流程;S4、用户端将DAG流程提交至Spark集群,Spark集群执行DAG流程。本方案基于分布式计算引擎Spark,将各个操作抽象化并封装为一个个插件,然后提供可视化的流程编排将插件根据处理逻辑串联起来形成有向无环图DAG。以实现对海量数据ETL处理。插件支持动态升级和扩展,只需实现定义的对应接口并上传。插件会动态加载,然后在流程编排界面便能使用该插件。进一步的,所述插件的开发方法包括以下步骤:S101、在开发端搭建插件开发的脚手架;S102、开发端执行脚手架后生成对应的代码框架模版;S103、基于代码框架模版及用户需求编写插件的实现,生成对应的插件代码;S104、将插件代码打包为jar包。进一步的,所述将插件代码打包为jar包之前,对步骤S103中插件的实现进行相关单元测试。进一步的,步骤S1中用户端加载已经上传的所有插件时,还包括存在新增插件时,对于新增的插件,直接通过类加载机制动态加载该插件。进一步的,所述步骤S1中用户端加载已经上传的所有插件时,还包括通过插件版本离线升级然后再动态加载的方法实现插件功能的修改。进一步的,步骤S3中用户端通过DAG的配置依赖关系对DAG进行解析。进一步的,步骤S4中Spark集群根据依赖关系从DAG流程开始节点执行至最终输出节点。一种ETL系统的高效流程编排系统,包括用户端和Spark集群,所述用户端包括:存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令,实现如上述的步骤S1、S2和S3。综上所述,由于采用了上述技术方案,本专利技术的有益效果是:1.本专利技术一种ETL系统的高效流程编排方法及系统,可视化流程编排:屏蔽掉底层代码或SQL的实现,负责数据处理人员只需要了解数据结构以及插件的功能,不需要懂太多的技术细节,就能对数据进行ETL处理。降低了学习和使用的门槛。2.本专利技术一种ETL系统的高效流程编排方法及系统,插件自定义开发:产品中将会提供若干基本的数据处理插件,且支持对插件的轻松扩展,只需实现对应的接口,然后打包上传,产品会自动加载,用户就能使用插件。3.本专利技术一种ETL系统的高效流程编排方法及系统,基于Spark计算:产品底层是基于分布式大数据处理框架Spark,基于内存和DAG执行,能支持海量数据的批处理以及实时处理。4.本专利技术一种ETL系统的高效流程编排方法及系统,解决了现有方案在处理海量数据时较慢、存在较高的门槛、不够灵活且管理分散不易分析其血缘关系的问题。附图说明为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,其中:图1是本专利技术的整体流程示意图;图2是本专利技术的插件开发流程示意图。具体实施方式为了使本专利技术的目的、技术方案和优点更加清楚,下面将结合图1至图2对本专利技术作进一步地详细描述,所描述的实施例不应视为对本专利技术的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。除非另有定义,本文所使用的所有的技术和科学术语与属于本专利技术的
的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本专利技术实施例的目的,不是旨在限制本专利技术。ETL:英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。DAG:英文Directedacyclicgraph的缩写,在图论中,如果一个有向图无法从某个顶点出发经过若干条边回到该点,则这个图是一个有向无环图(DAG图)。插件:在产品中是实现了某种数据处理功能的jar包。流程编排:在产品中指,将数据处理需要的操作通过各个插件将其连接起来,生成一个DAG图,来实现数据处理的过程。分布式计算:分布式计算将该应用分解成许多小的部分,分配给多个进程或多台计算机进行处理。这样可以节约整体计算时间,大大提高计算效率。对本专利技术实施例进行进一步详细说明之前,对本专利技术实施例中涉及的名本文档来自技高网
...

【技术保护点】
1.一种ETL系统的高效流程编排方法,其特征在于:包括以下步骤:/nS1、用户端加载已经上传的所有插件;/nS2、用户根据处理逻辑流程对插件进行编排,将插件并串接为DAG;/nS3、用户端对DAG进行解析,配置DAG流程;/nS4、用户端将DAG流程提交至Spark集群,Spark集群执行DAG流程。/n

【技术特征摘要】
1.一种ETL系统的高效流程编排方法,其特征在于:包括以下步骤:
S1、用户端加载已经上传的所有插件;
S2、用户根据处理逻辑流程对插件进行编排,将插件并串接为DAG;
S3、用户端对DAG进行解析,配置DAG流程;
S4、用户端将DAG流程提交至Spark集群,Spark集群执行DAG流程。


2.根据权利要求1所述的一种ETL系统的高效流程编排方法,其特征在于:所述插件的开发方法包括以下步骤:
S101、在开发端搭建插件开发的脚手架;
S102、开发端执行脚手架后生成对应的代码框架模版;
S103、基于代码框架模版及用户需求编写插件的实现,生成对应的插件代码;
S104、将插件代码打包为jar包。


3.根据权利要求2所述的一种ETL系统的高效流程编排方法,其特征在于:所述将插件代码打包为jar包之前,对步骤S103中插件的实现进行相关单元测试。


4.根据权利要求1所述的一种ETL系统的高效流...

【专利技术属性】
技术研发人员:张艳清查文宇金日海刘廷文
申请(专利权)人:成都四方伟业软件股份有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1