1.一种基于策略服务实现etl系统,包括数据源模块、外部存储源模块,其特征在于,还包括zookeeper模块、策略服务模块、etl装置,所述etl装置包括数据格式化模块、数据转化模块、数据归一化模块、数据存储模块,其中:
所述数据格式化模块,用于读取从数据源模块传输的主题数据,实现相应的数据文件转化一行行数据;
所述数据转化模块,用于根据数据转化策略服务模块,依据key的数据类型获取数据转化的规则并根据具体规则转化内部map数据格式;
所述数据归一化模块,用于完成有共同基类的map对象转化为java定义对象,并根据策略服务模块、数据类型获取数据归一化模块规则且利用该数据归一化模块规则将内部数据格式转化为布标统一的对象格式;
所述数据存储模块,包括hbase数据源和es数据源,用于根据策略服务模块定义好存储的规则并依据java对象对应hbase表和es表,使对象属性对应hbase、es的对应列值和索引字段,该数据存储模块先插入hbase数据然后再批量插入es数据。
2.如权利要求1所述的基于策略服务实现etl系统,其特征在于:所述数据格式化模块所支持的数据包括zip格式数据,其中zip格式数据在数据格式化模块中对应有zip文件流,经过数据格式化模块解析zip格式数据的文件并转化成一行行数据。
3.如权利要求1所述的基于策略服务实现etl系统,其特征在于:所述数据格式化模块所支持的数据包括txt格式数据,其中txt格式数在据格式化模块中对应有普通文件数据,经过数据格式化模块解析txt格式数据的普通文件并转化成一行行数据。
4.一种利用权利要求1-3任一项的基于策略服务实现etl系统的实现方法,其特征在于,包括数据格式化模块的实现步骤和策略服务模块的实现步骤,其中所述数据格式化模块的实现步骤具体为:
a1、依据所述策略服务模块解析获取数据格式化的转化规则;
b1、所述数据格式化模块根据格式化转化规则解析数据转化的一行行数据;
c1、完成;
所述策略服务模块的实现步骤具体为:
a2、将规则文件上传到zookeeper模块上去,然后通过执行脚本upload-zkcj-rules.sh;
b2、利用etl装置获取zookeeper模块中的文件流,用数据格式化模块解析规则文件且放到map对象中的指定规则,然后将map对象进行封装集合;
c2、etl装置中map数据集合广播,根据响应规则获取指定规则对象,并利用进行业务规则进行业务处理;
d2、完成。