一种基于kettle的数据仓库实时构建方法技术

技术编号:26597332 阅读:25 留言:0更新日期:2020-12-04 21:19
一种基于kettle的数据仓库的实时构建方法,所述方法包括,构建多层数据处理架构将数据分层处理;从数据源中抽取所需的数据并将抽取的数据清洗得到符合预设要求的数据;将符合预设要求的数据进行联机分析处理、数据挖掘;对数据处理任务进行调度和监管。

【技术实现步骤摘要】
一种基于kettle的数据仓库实时构建方法
本专利技术涉及计算机软件
,具体为一种基于kettle的数据仓库的实时构建方法。
技术介绍
数据仓库的定位于数据库的定位不同,经过20年左右的发展,数据仓库技术已经逐渐趋于成熟,国外对数据仓库的研究起步比较早,研究的积累比较充分,数据仓库中的数据通常包含历史信息,系统记录了企业从过去某一时点(如开始应用数据仓库的时点)到当前的各个阶段的信息,通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测。随着计算机存储能力的提升和复杂算法的发展,近年来网络数据量成指数级增长,科学数据处理、商业智能数据分析等具有海量数据需求的应用变得越来越普遍,传统的Oracle(mysql)+sql技术架构已不能满足大数据处理要求,对于数据仓库的搭建,业界比较常用的是分布式+ETL的方式,但是基于服务的分布式+ETL数据仓库技术却一直没有比较好的解决方案。
技术实现思路
本专利技术为解决以上所述现有技术的缺点,本专利技术提供了一种基于kettle的数据仓库的实时构建方法,用于解决现有技术中数据仓库的构建开发。为了实现上述目的,本专利技术是通过如下的技术方案来实现:本专利技术提出了基于kettle的数据仓库的实时构建方法,其特征在于,包括:构建多层数据处理架构,利用分层处理架构将数据进行分层处理;从数据源中抽取所需的数据并将抽取的数据清洗得到符合预设要求的数据;将符合预设要求的数据进行联机分析处理、数据挖掘;对数据处理任务进行调度和监管。优选的,所述多层数据处理架构包括:临时存储从所述数据源表获取的数据的临时存储层、对清洗后的数据进行存储和处理的核心数据层、将数据进行组织形成对应数据主体的数据集市层已经面向用户处理用户输入的具体需求数据的应用层。优选的,所述抽取数据中常用的捕获变化数据方法包括:在数据源表上建立插入、修改及删除三个触发器,数据源表中的数据发生插入、修改及删除相应的变化,触发器将变化的数据写入一个临时表,抽取线程从临时表中抽取数据,临时表中抽取过的数据被标记或删除;在数据源表上增加一个时间戳字段,系统在更新修改数据源表中数据的时候,同时修改时间戳字段的值,当进行数据抽取时,比较系统时间与时间戳字段的值是否一致,一致抽取对应数据,不一致则不进行抽取;数据源表上建立一个MD5临时表,所述MD5临时表记录数据源表的主键以及根据所有字段的数据计算出来的MD5校验码,每次进行数据抽取时,对数据源表和MD5临时表进行MD5校验码的比对,不一致,则进行修改操作,MD5临时表中没有存在MD5校验码,进行新增操作,数据源表中不存在而MD5仍保留的MD5校验码,执行删除操作;通过分析数据库自身的日志来判断变化的数据。优选的,所述捕获变化数据采用的是ZDI-CDC捕获数据更改平台。优选的,所述通过分析数据库自身的日志来判断变化的数据具体步骤如下:创建数据库日志,记录对数据表进行的数据库操作,所述数据操作包括插入、修改及删除;统计预设时间段内数据库操作的总次数已经对数据表中每一列进行插入、修改及删除的次数;根据数据库操作的总次数以及对数据表中每一列进行插入、修改删除的次数计算插入、修改及删除的次数占比;根据插入、修改及删除的次数占比生成索引列名。优选的,所述将抽取的数据清洗得到符合预设要求的数据中包括:通过FILTER算子的运算符属性设定,确定数据的筛选条件,对源数据中不符合要求的记录进行筛选处理,获得第一源数据;通过采用插值法对第一源数据中的空值进行处理,获得第二源数据;通过PIVOT算子对第二源数据进行拆分,将第二源数据中的一条数据拆分成几条记录,然后分别插入到不同的目标数据中,通过MERGE算子设定相应的判断条件,看记录是否已经在目标数据中存在,若不存在插入新记录,若存在则选择更新或忽略,获得拆分后的源数据;将拆分后的源数据汇总到一个临时库中,分配统一编号,将其抽取到数据仓库中。优选的,所述对数据处理任务进行调度和监管的具体步骤如下:将数据处理任务进行分组、配制任务之间的依赖关系及设置任务的优先级;根据任务之间的依赖关系及任务的优先级进行调度;对任务的新增、暂停和删除及任务的运行情况和耗时情况以及重新调度运行失败的任务等操作进行监管。优选的,所述数据挖掘包括:数据准备阶段:通过从各种相关的数据源表中选取数据并进行清查和转换,整合成功数据集合;数据挖掘阶段:通过利用BP神经网络算法从备好的数据集合中对数据进行训练拟合模型,最终通过训练好的模型去判断数据的潜在的关联和规律;挖掘结果展示和解释:通过以简洁、直观及易懂的界面形式解释数据挖掘所找出的数据集合的内在关联和规律。所述方法还包括采用DSS应用开发,具体步骤如下:S901、从数据仓库中确定一个数据范围;S902、根据数据范围,编写抽取程序获得数据范围内的数据;S903、将抽取的数据范围内的数据进行合并及提炼,得到合并及提炼后的数据,使数据满足分析处理要求;S904、将合并及提炼后的数据进行分析处理,并看所得的结果是否满足了预设要求,如果不能满足,则返回步骤S901,开始新的一次循环,若满足,生成分析报告。优选的,所述将抽取的数据清洗得到符合预设要求的数据中还包括,数据噪声点的处理,所述具体步骤如下:步骤A1,根据以下公式求出衡量正常数据点与噪声点的阈值:其中,p(i,j)代表数据临近区域内的数据点的均值,s(i,j)代表数据点标准方差值,L代表标准方差的动态范围内选取的数值,s(i,j)≤L≤s(i,j)+1,q(i,j)代表衡量正常数据点与噪声点的阈值,k是定义的一个修正参数,0<k<1,n,m分别代表数据的行数和列数;步骤A2,根据下述公式对数据的噪声点进行处理:其中,q(i,j)代表衡量正常数据点与噪声点的阈值,代表数据点的平均值,x(i,j)代表横坐标为i纵坐标为j的去噪前数据点的数据值大小,r(i,j)代表去噪后的大小。本专利技术提出了一种基于kettle的数据仓库的实时构建方法,所述方法包括,构建多层数据处理架构将数据分层处理;从数据源中抽取所需的数据并将抽取的数据清洗得到符合预设要求的数据;将符合预设要求的数据进行联机分析处理、数据挖掘;对数据处理任务进行调度和监管,通过本专利技术的技术方案,从而设计出最好的解决方案,高质量完成数据仓库的实时构建。附图说明图1为本专利技术所述方法的流程图;图2为本专利技术所述ZDI-CDC的流程图;图3为本专利技术所述Kafka的流程图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例,基于本专利技术中的实施例,本领域普通技术本文档来自技高网...

【技术保护点】
1.一种基于kettle的数据仓库的实时构建方法,其特征在于,所述方法包括:/n构建多层数据处理架构,利用分层处理架构将数据进行分层处理;/n从数据源表中抽取所需的数据并将抽取的数据清洗得到符合预设要求的数据;/n将符合预设要求的数据进行联机分析处理、数据挖掘;/n对数据处理任务进行调度和监管。/n

【技术特征摘要】
1.一种基于kettle的数据仓库的实时构建方法,其特征在于,所述方法包括:
构建多层数据处理架构,利用分层处理架构将数据进行分层处理;
从数据源表中抽取所需的数据并将抽取的数据清洗得到符合预设要求的数据;
将符合预设要求的数据进行联机分析处理、数据挖掘;
对数据处理任务进行调度和监管。


2.根据权利要求1所述的基于kettle的数据仓库的实时构建方法,其特征在于,所述多层数据处理架构包括:临时存储从所述数据源表获取的数据的临时存储层、对清洗后的数据进行存储和处理的核心数据层、将数据进行组织形成对应数据主体的数据集市层已经面向用户处理用户输入的具体需求数据的应用层。


3.根据权利要求1所述的基于kettle的数据仓库的实时构建方法,其特征在于,所述抽取数据中常用的捕获变化数据方法包括:
在数据源表上建立插入、修改及删除三个触发器,数据源表中的数据发生插入、修改及删除相应的变化,触发器将变化的数据写入一个临时表,抽取线程从临时表中抽取数据,临时表中抽取过的数据被标记或删除;
在数据源表上增加一个时间戳字段,系统在更新修改数据源表中数据的时候,同时修改时间戳字段的值,当进行数据抽取时,比较系统时间与时间戳字段的值是否一致,一致抽取对应数据,不一致则不进行抽取;
数据源表上建立一个MD5临时表,所述MD5临时表记录数据源表的主键以及根据所有字段的数据计算出来的MD5校验码,每次进行数据抽取时,对数据源表和MD5临时表进行MD5校验码的比对,不一致,则进行修改操作,MD5临时表中没有存在MD5校验码,进行新增操作,数据源表中不存在而MD5仍保留的MD5校验码,执行删除操作;
通过分析数据库自身的日志来判断变化的数据。


4.根据权利要求3所述的基于kettle的数据仓库的实时构建方法,其特征在于,所述捕获变化数据采用的是ZDI-CDC捕获数据更改平台。


5.根据权利要求3所述的基于kettle的数据仓库的实时构建方法,其特征在于,所述通过分析数据库自身的日志来判断变化的数据具体步骤如下:
创建数据库日志,记录对数据表进行的数据库操作,所述数据操作包括插入、修改及删除;
统计预设时间段内数据库操作的总次数已经对数据表中每一列进行插入、修改及删除的次数;
根据数据库操作的总次数以及对数据表中每一列进行插入、修改删除的次数计算插入、修改及删除的次数占比;
根据插入、修改及删除的次数占比生成索引列名。


6.根据权利要求1所述的基于kettle的数据仓库的实时构建方法,其特征在于,所述将抽取的数据清洗得到符合预设要求的数据中包括:
通过FILTER算子的运算符属性设定,确定数据的筛选条件,对源数据中不符合要求的记录进行筛选处理,获得第一源数据;
通过采用插值法对第一源数据中的空值进行处理,获得第二源数...

【专利技术属性】
技术研发人员:罗颖陈嘉龙
申请(专利权)人:深圳市中盛瑞达科技有限公司
类型:发明
国别省市:广东;44

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

1