一种基于策略服务实现ETL系统及其方法与流程

文档序号:22627474发布日期:2020-10-23 19:36阅读:181来源:国知局
一种基于策略服务实现ETL系统及其方法与流程

本发明属于信息处理技术领域,涉及一种基于策略服务实现etl系统及其方法。



背景技术:

目前,面对众多厂商所提供的数据信息,厂商往往会提供不同规格的数据源,对于用户在上网审计时所用的上报字段也不一样。为了支持这些厂商,其存在的问题是:现有的结构是对为每一个厂商开发一套etl代码,每一个厂商如果标准变化,etl都需要变更,现有结构对于不同规格的数据源无法实现统一配置化,致使操作繁琐,使用不方便。

为此,本发明提供一种基于策略服务实现etl系统及其方法。



技术实现要素:

鉴于现有的技术存在的上述问题,本发明的目的在于提供一种基于策略服务实现etl系统,能够实现统一配置化,操作化繁为简,使用方便。

本发明的目的可通过下列技术方案来实现:

一种基于策略服务实现etl系统,包括数据源模块、外部存储源模块,还包括zookeeper模块、策略服务模块、etl装置,所述etl装置包括数据格式化模块、数据转化模块、数据归一化模块、数据存储模块,其中:

所述数据格式化模块,用于读取从数据源模块传输的主题数据,实现相应的数据文件转化一行行数据;

所述数据转化模块,用于根据数据转化策略服务模块,依据key的数据类型获取数据转化的规则并根据具体规则转化内部map数据格式;

所述数据归一化模块,用于完成有共同基类的map对象转化为java定义对象,并根据策略服务模块、数据类型获取数据归一化模块规则且利用该数据归一化模块规则将内部数据格式转化为布标统一的对象格式;

所述数据存储模块,包括hbase数据源和es数据源,用于根据策略服务模块定义好存储的规则并依据java对象对应hbase表和es表,使对象属性对应hbase、es的对应列值和索引字段,该数据存储模块先插入hbase数据然后再批量插入es数据。

所述的基于策略服务实现etl系统,其特殊之处在于:所述数据格式化模块所支持的数据包括zip格式数据,其中zip格式数据在数据格式化模块中对应有zip文件流,经过数据格式化模块解析zip格式数据的文件并转化成一行行数据。

所述的基于策略服务实现etl系统,其特殊之处在于:所述数据格式化模块所支持的数据包括txt格式数据,其中txt格式数在据格式化模块中对应有普通文件数据,经过数据格式化模块解析txt格式数据的普通文件并转化成一行行数据。

本发明还提供一种利用如上的基于策略服务实现etl系统的实现方法,包括数据格式化模块的实现步骤和策略服务模块的实现步骤,其中所述数据格式化模块的实现步骤具体为:

a1、依据所述策略服务模块解析获取数据格式化的转化规则;

b1、所述数据格式化模块根据格式化转化规则解析数据转化的一行行数据;

c1、完成;

所述策略服务模块的实现步骤具体为:

a2、将规则文件上传到zookeeper模块上去,然后通过执行脚本upload-zkcj-rules.sh;

b2、利用etl装置获取zookeeper模块中的文件流,用数据格式化模块解析规则文件且放到map对象中的指定规则,然后将map对象进行封装集合;

c2、etl装置中map数据集合广播,根据响应规则获取指定规则对象,并利用进行业务规则进行业务处理;

d2、完成。

如上所述,本发明涉及的一种基于策略服务实现etl系统及其方法,具有以下有益效果:

本发明利用上述的基于策略服务实现etl系统及其方法后,与现有技术相比,由于采用了此种结构,通过设置etl装置,能够对各种厂商提供的含义不同的数据源进行配置映射部标同一字段,统一化处理,无需修改代码实现etl功能,从而实现统一配置化,操作化繁为简,使用方便。

下面结合具体实施方式对本发明作进一步的说明。

附图说明

图1为一种基于策略服务实现etl系统的结构示意图;

图2为一种基于策略服务实现etl系统的图;

图3为一种基于策略服务实现etl系统的图;

图4为一种利用基于策略服务实现etl系统的实现方法中的数据格式化模块的实现步骤控制流程图;

图5为一种利用基于策略服务实现etl系统的实现方法中的策略服务模块的实现步骤控制流程图。

具体实施方式

以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效。

须知,本说明书附图所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容能涵盖的范围内。同时,本说明书中所引用的如“上”、“下”、“左”、“右”、“中间”及“一”等的用语,亦仅为便于叙述明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。具体结构可参照专利申请的附图进行说明。

本发明提供一种基于策略服务实现etl系统,请参考图1、图2以及图3所示,包括数据源模块1、外部存储源模块2,还包括zookeeper模块3、策略服务模块4、etl装置5,所述etl装置5包括数据格式化模块50、数据转化模块51、数据归一化模块52、数据存储模块53,其中:

所述数据格式化模块50,用于读取从数据源模块1传输的主题数据,实现相应的数据文件转化一行行数据;

所述数据转化模块51,用于根据数据转化策略服务模块4,依据key的数据类型获取数据转化的规则并根据具体规则转化内部map数据格式;

所述数据归一化模块52,用于完成有共同基类的map对象转化为java定义对象,并根据策略服务模块4、数据类型获取数据归一化模块52规则且利用该数据归一化模块52规则将内部数据格式转化为布标统一的对象格式;

所述数据存储模块53,包括hbase数据源530和es数据源531,用于根据策略服务模块4定义好存储的规则并依据java对象对应hbase表和es表,使对象属性对应hbase、es的对应列值和索引字段,该数据存储模块53先插入hbase数据然后再批量插入es数据。本发明与现有技术相比,由于采用了此种结构,通过设置etl装置5,能够对各种厂商提供的含义不同的数据源进行配置映射部标同一字段,统一化处理,无需修改代码实现etl功能,从而实现统一配置化,操作化繁为简,使用方便。

结合图1和图2所示,在本实施例中,所述数据格式化模块50所支持的数据包括zip格式数据500,其中zip格式数据500在数据格式化模块中对应有zip文件流,经过数据格式化模块50解析zip格式数据500的文件并转化成一行行数据。

结合图1和图2所示,在本实施例中,所述数据格式化模块50所支持的数据包括txt格式数据501,其中txt格式数在据格式化模块50中对应有普通文件数据,经过数据格式化模块50解析txt格式数据501的普通文件并转化成一行行数据。

本发明还提供一种利用如上的基于策略服务实现etl系统的实现方法,结合图1、图4以及图5所示,包括数据格式化模块50的实现步骤和策略服务模块4的实现步骤,其中所述数据格式化模块50的实现步骤具体为:

a1、依据所述策略服务模块4解析获取数据格式化的转化规则;

b1、所述数据格式化模块50根据格式化转化规则解析数据转化的一行行数据;

c1、完成;

所述策略服务模块4的实现步骤具体为:

a2、将规则文件上传到zookeeper模块3上去,然后通过执行脚本upload-zkcj-rules.sh;

b2、利用etl装置5获取zookeeper模块3中的文件流,用数据格式化模块50解析规则文件且放到map对象中的指定规则,然后将map对象进行封装集合;

c2、etl装置5中map数据集合广播,根据响应规则获取指定规则对象,并利用进行业务规则进行业务处理;

d2、完成。

如上所述,本发明涉及的一种基于策略服务实现etl系统及其方法,具有以下有益效果:

本发明利用上述的基于策略服务实现etl系统及其方法后,与现有技术相比,由于采用了此种结构,通过设置etl装置,能够对各种厂商提供的含义不同的数据源进行配置映射部标同一字段,统一化处理,无需修改代码实现etl功能,从而实现统一配置化,操作化繁为简,使用方便。

综上所述,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1