数据装载工具(ETL)设计(Extract Transform Load)

设计|数据

1.        系统预期

使用图形化界面将外部数据文件装入数据库并按照指定规则将装入的数据添加或替换到目标数据库中。

支持多种格式数据文件。

支持文件装入规则可灵活订制。

支持对指定数据文件内容过滤配置。

实现模板管理。

操作日志记录及日志管理。

装库结果跟踪。

装库过程体现批次概念。

装库过程监视。

2.名词解释

分析器(Parser)--- 用于将不同格式的数据文件转换为统一格式(以某符号包围以某符号分隔的文件格式,例:#content#,#content2#等形式)。

映射(mapping) ---  将数据文件中的各段内容与预处理库中的字段进行对应,在对应过程中支持合并、拆分、字串截取等操作。

过滤(filter)    ---  对指定字段中的内容进行替换、删除、判断不等于某值时替换、判断等于某值时替换等操作。

3.系统描述

系统采用图形界面进行配置,其主要工作流程分为两大部分:分别为预处理部分和处理部分。预处理部分工作流程为:首先将各种格式的数据文件通过预定义的分析器(Parser)进行格式统一转换。根据转换后的数据文件的结构(格式)在系统中生成预处理表(PRD),然后根据业务规则对该结构进行一定的转换(transformation)其中包括字段映射(mapping)及字段内容过滤(filter)操作,最后将数据文件中的相应内容按照映射关系和过滤规则添加到生成的预处理表中,并记录日志。至此预处理部分结束。在预处理部分中每个阶段都有其相应的模板,设置时可直接选择其相应模板即可完成设置工作。

处理部分工作流程为:首先选定源数据库即(预处理库),选定目的数据库即(采购交接库,加工库),然后选择装库规则(预先定义好的Adaptor配置文件)最后设置日志信息。在此阶段可直接选择已定义的模板进行设置。

完成以上两部分设置后则最终将数据文件内容按照指定的规则导入到目标数据库中。

以上过程仅仅只是做了整个装库过程的配置步骤说明,在实际装库操作中可直接选择装库模板,此模板为包括每个阶段模板的总模板。可直接选择此模板进行所有各阶段的装库设置,之后点击确定进行装库操作。

 

4.功能实现

系统在装入数据文件时采用外部格式统一方式,选用相应的数据格式解释器(Parser)并设置其转换规则将不同格式的数据文件统一转换成同一种数据格式。之后可将设置内容保存为文件格式转换模板进行保存。

将经过格式转换的数据文件导入系统后对数据文件的各段内容与预处理数据库字段之间进行映射操作。并为预处理数据库字段的字段类型进行指定。映射操作中支持字段合并及字段拆分和字段截取操作,分别用符号“+”、“方向箭头”、“subString(字符串开始位置,截取字符数量)来对标识及对对应的操作进行支持。

字段映射操作后,对字段内容进行过滤,过滤操作实现了将指定字段内容进行替换、删除、判断如果等于某个值就替换为某值、如果不等于某值就替换为某值操作。过滤字段(为所有可选择的字段)、字段内容(字段内容的某个值或整个字段)另外还支持将日期格式“04/12/2004”转换成“2004/04/12”等日期格式转换操作。

对字段内容进行过滤后指定源数据库(预处理库)及目的数据库(采购交接库及加工库)并设置装库日志列表,指定装库规则后选择确定,系统自动将对源数据库及目的数据库的设置,装库日志信息修改到Adaptor预先定义好的模板文件的相应位置,并调用后台Adaptor引擎进行装库操作。

Adaptor引擎在执行时将自己封装成一个进程,前台系统通过监测该进程的状态判断装库进度。Adaptor引擎在执行装库操作时将日志信息及装库操作的一些信息写到相应数据表中,前台系统监测执行装库任务的进程开始后便可到相应数据表中取出装库操作信息(已经装入的记录条数)及装库日志到前台显示。从而实现装库过程监视功能。

 

4.1分析器(Parser)实现

分析器为针对某种格式的数据文件开发的能够将其转换成某种特定格式的程序类,一个分析器可能包括一个或多个程序类及一个配置文件。

配置文件是系统能够识别及正确使用该分析器的前提,即系统通过解析该配置文件来正确调用分析器的程序类实现特定的功能。系统解析该配置文件后便知道需要传入什么样的参数及如何调用些分析器的各个程序类。

在配置文件中主要描述程序类的方法名称调用参数及方法注释等。

界面显示如下:

   

 

4.2映射(mapping)实现

映射操作是将读入的数据文件内容与预处理库的字段进行对应及为预处理库的字段指定数据类型的操作,在映射过程中可进行字段合并、复制、拆分、截取操作。

字段合并:此操作是将两个或两个以上的数据文件字符串合并成一个字段对应到预处理库中,在合并操作时各合并的字段有先后顺序。在界面中使用“+”号来标识字段合并操作。

例如:数据文件字段标识1+数据文件字段标识2+数据文件字段标识3

字段复制:此操作是将数据文件字符串复制全并到预处理库的某个字段中。在界面中使用“方向线”来标识此操作。

字段拆分:此操作是将一个数据文件字符串拆分成两个或两个以上的字符串分别对应到到预处理库的相应字段。在界面中使用“方向线”和“subString()”来标识拆分操作。

字段截取:此操作是将一个数据文件字符串按要求进行截取后对应到预处理库的相应字段中。在界面中使用“方向线”和“subString()”来标识。

                    例如:subString(字符串开始位置,截取字符数量)

界面显示如下:

4.3过滤(filter)实现

过滤操作是将指定的预处理库字段的内容进行替换、删除、判断替换、判断删除、格式转换操作。

替换:将指定的字段中的某些字符替换成其它字符。在界面中使用“替换”来标识此操作。

删除:将指定字段中的某些字符删除。在界面中使用“删除”来标识此操作。

判断替换:将指定字段中的某些字符进行判断如果“不等于”则替换。在界面中使用“不等于”来标识此操作。

将指定字段中的某些字符进行判断如果“等于”则替换。在界面中使用“等于”符号来标识此操作。

 

 

判断删除:将指定字段中的某些字符进行判断如果“不等于”则删除。在界面中使用“不等于”来标识此操作。

将指定字段中的某些字符进行判断如果“等于”则删除。在界面中使用“等于”符号来标识此操作。

4.4 数据转库实现

         数据转库操作是将已装入预处理库的数据按照配置的规则转到其它数据库中。其中包括记录内容判断、记录添加、记录修改等数据库操作。其实现方式为首先对装库流程的规则预先定义一个Adaptor模板及Adaptor配置文件,通过系统可视化操作对Adaptor配置文件中的相应值进行修改,并对其中用到的日志内容进行设置,完成后调用Adaptor引擎进行转库操作。Adaptor引擎则将自己包装成一个进程运行,系统通过动态监测该进程的状态来监控执行进度。Adaptor引擎进行转库操作中将日志信息及转库的记录条数等信息写到转库信息表及日志表中,系统通过从日志信息及转库信息表中读取信息来显示其执行进度及已执行的记录条数等信息。同时系统通过监测该进程是否结束来判断操作是否已经结束,如已经结束则显示全部转库信息。

 

备注:在整个操作过程中在对数据未进行过滤之前先将数据文件内容原样放装入数据库中一份做为备份。

时间: 2024-11-17 19:36:08

数据装载工具(ETL)设计(Extract Transform Load)的相关文章

用户体验设计师让设计工具成为设计团队

文章描述:也就是在我之前的工作中,我亲身体会到了这种情况.那时候,我所在的雇佣有上千人的公司里,我是唯一一个用户体验设计师.我不得不自己研究,线框图.原型设计.功能规格.视觉效果设计等.没有团队来帮助我完成这些任务,可是我仍然有期限限制,而且这个期限就和我有团 作为设计者,我们会经常遇到孤立无助的情况.不管是我们是独自工作,亦或是处于在家工作的情况,有些时候我们不得不一个人承担起很多工作角色,这些角色本可以由整个设计团队承担. 最近,也就是在我之前的工作中,我亲身体会到了这种情况.那时候,我所在

数据抽取、清洗与转换 BI项目中ETL设计

ETL是将业务系统的数据经过抽取.清洗转换之后加载到数据仓库的过程,目的是将企业中的分散.零乱.标准不统一的数据整合到一起,为企业的决策提供分析的依据 ETL是BI项目最重要的一个环节,通常情况下ETL会花掉整个项目的1/3的时间,ETL设计的好坏直接关接到BI项目的成败.ETL也是一个长期的过程,只有不断的发现问题并解决问题,才能使ETL运行效率更高,为项目后期开发提供准确的数据. ETL的设计分三部分:数据抽取.数据的清洗转换.数据的加载.在设计ETL的时候也是从这三部分出发.数据的抽取是从

图形数据维护工具项目架构设计总结

1.背景 近期负责一个GIS矢量化项目,工程中涉及图形数据.GIS业务数据的关联存储和管理.为弥补图形矢量化软件在附属属性管理方面的局限性,采用两套数据库系统进行图-数关联存储的方案:图形矢量化软件存储图形数据,文件数据库存储业务数据.图形数据维护工具,是矢量化实施项目中核心支撑系统之外数据检查.校正工具,主要完成图-数对应关系的建立.维护,业务数据合法性的基础检查和纠正等. 2.需求概述 在信息管理方面,整个项目涉及大量的.孤立的图片的存储,包括:图片的文件名.业务路径.对应的工程.图形处理人

DataWorks数据埋点的设计及未来发展的思考

什么是前端埋点?         马总曾经说过现在是DT时代(大数据的时代).         数据已经成为一家公司最宝贵的财富,越来越多的互联网公司开始重视数据的应用.数据应用的过程是:数据收集 -> 数据整理(数据同步)-> 数据分析 -> 数据可视化.         前端埋点是用户行为数据采集领域非常重要的手段,指的是针对特定用户行为或事件进行捕获.处理和发送的相关技术及其实施过程.         当然前端埋点上报也不仅仅有用户行为数据的采集,还有一个很重要的领域--前端健康度

详述如何提高MySQL中数据装载效率

很多时候关心的是优化SELECT 查询,因为它们是最常用的查询,而且确定怎样优化它们并不总是直截了当.相对来说,将数据装入数据库是直截了当的.然而,也存在可用来改善数据装载操作效率的策略,其基本原理如下: 成批装载较单行装载更快,因为在装载每个记录后,不需要刷新索引高速缓存;可在成批记录装入后才刷新. 在表无索引时装载比索引后装载更快.如果有索引,不仅必须增加记录到数据文件,而且还要修改每个索引以反映增加了的新记录. 较短的SQL 语句比较长的SQL 语句要快,因为它们涉及服务器方的分析较少,而

基于JSP网页自动生成工具的设计与实现

js|设计|网页 摘 要:Web开发技术是Internet应用的一个重要方面,而JSP又是Web开发的最先进的技术,是当前Web开发人员的首选技术.但是由于JSP对Web开发人员要求较高,所以许多一般的Web开发人员还不能够使用这一项先进的技术.讨论基于模板和标签库的JSP网页自动生成工具的设计和实现,提出具体的设计思想和实现方法. 关键词:JSP:自动生成:Web开发:标签:标签库:模板 目录: 引言-------------------------..2 1          系统设计目标和

MySQL改善数据装载操作效率的策略

[导读]本文介绍MySQL改善数据装载操作效率的策略.多时候关心的是优化SELECT 查询,因为它们是最常用的查询,而且确定怎样优化它们并不总是直截了当.相对来说,将数据装入数据库是直截了当的. 多时候关心的是优化SELECT 查询,因为它们是最常用的查询,而且确定怎样优化它们并不总是直截了当.相对来说,将数据装入数据库是直截了当的.然而,也存在可用来改善数据装载操作效率的策略,其基本原理如下: 成批装载较单行装载更快,因为在装载每个记录后,不需要刷新索引高速缓存:可在成批记录装入后才刷新. 在

21款超实用的酷炫「数据可视化工具」

  辛辛苦苦分析一堆大数据,竟然没人看!到底怎么办?俗话说,有图有真相,一图胜千言,取悦了眼球,剩下的都好说.如果你正着手于从数据中洞察出有用信息,那你所需要的正是--数据可视化.本文挖掘了21款炙手可热的数据可视化工具,干净利落的高颜值信息图,就要这样做! 译者微信公众号:特赞Design,欢迎关注唷. FusionCharts FusionCharts Suite XT不仅可以为带给你漂亮的图表,还能帮你制作出生动的动画.巧妙的设计和丰富的交互性.它在PC端.Mac.iPad.iPhone和

数据可视化工具大集合

所谓数据可视化是对大型数据库或数据仓库中的数据的可视化,它是可视化技术在非空间数据领域的应用,使人们不再局限于通过关系数据表来观察和分析数据信息,还能以更直观的方式看到数据及其结构关系. 数据可视化技术的基本思想是将数据库中每一个数据项作为单个图元元素表示,大量的数据集构成数据图像, 同时将数据的各个属性值以多维数据的形式表示,可以从不同的维度观察数据,从而对数据进行更深入的观察和分析. 内容目录 Awesome dataviz JavaScript 工具 图表库 图形图表库 地图(Maps)