企业数据仓库概要设计说明书ETL概要设计分册
数据仓库建模与ETL设计实践指南

数据仓库建模与ETL设计实践指南在当今信息时代,数据的重要性日益凸显。
为了更好地管理和分析大量的数据,数据仓库的建模与ETL(提取、转换和加载)设计成为了企业数据管理的关键环节。
本文将详细介绍数据仓库建模与ETL设计的实践指南,帮助读者更好地理解和应用这些技术。
一、数据仓库建模1.1 数据仓库概述数据仓库是一个集成、主题导向、可用于决策支持的数据集合。
它将企业的各类数据从不同的来源进行提取、转换和加载,经过清洗和整合后形成一个统一、一致的数据视图。
数据仓库建模的目标是将跨越多个系统的数据转化为易于理解和使用的形式。
1.2 数据仓库建模方法在进行数据仓库建模时,可以选择多种建模方法,例如维度模型和归一化模型。
维度模型适合于分析型报表和高度聚焦的查询,而归一化模型则适合于大规模的交易处理。
根据实际情况选择合适的建模方法,既要考虑数据的业务需求,也要兼顾数据的性能和可维护性。
1.3 维度建模与事实建模数据仓库的维度建模是数据仓库建模的核心内容之一。
维度是指数据的关键特征或类别,例如时间、地点、产品等。
在维度建模中,需要考虑维度的层次结构和关系,以及维度之间的关联。
事实建模则围绕事实表展开,事实表记录了业务过程中发生的事件或度量,例如销售额、客户数量等。
二、ETL设计实践指南2.1 ETL概述ETL是指将数据从各个源系统中提取出来,经过转换和清洗后加载到数据仓库中的过程。
ETL设计是确保数据能够准确、完整地从源系统到数据仓库的关键环节。
一个好的ETL设计应该考虑数据的可扩展性、可维护性和性能。
2.2 ETL流程一个典型的ETL流程包括以下几个步骤:数据提取(Extract)、数据转换(Transform)和数据加载(Load)。
在数据提取阶段,需要确定数据提取的方式和频率,例如全量提取、增量提取或增量更新。
在数据转换阶段,需要对数据进行清洗、整合和转换,以满足数据仓库的需求。
在数据加载阶段,需要将转换后的数据加载到数据仓库中,确保数据的可用性和一致性。
仓库管理系统(概要设计说明书)

1引言 (2)1.1编写目的 (2)1.2背景 (2)1.3定义 (2)1.4参考资料 (2)2总体设计 (2)2.1需求规定 (2)2.2运行环境 (3)2.3基本设计概念和处理流程 (3)2.4结构 (3)3接口设计 (3)3.1用户接口 (3)3.2外部接口 (3)3.3内部接口 (3)4运行设计 (4)4.1运行模块组合 (4)4.2运行控制 (4)4.3运行时间 (4)5系统数据结构设计 (4)5.1逻辑结构设计要点 (4)5.2物理结构设计要点 (6)5.3数据结构与程序的关系 (9)6系统出错处理设计 (9)6.1出错信息 (9)6.2补救措施 (9)6.3系统维护设计 (10)概要设计说明书1引言1.1编写目的由前面的需求分析,得出了系统的基本需求,和基本的数据流图,要实现整个系统,需要对用户的需求进行设计,概要设计主要是利用比较抽象的语言对整个需求进行概括,确定对系统的物理配置,确定整个系统的处理流程和系统的数据结构,接口设计,实现对系统的初步设计。
1.2背景项目名称:仓库管理---概要设计说明书项目任务开发者:大连交通大学R数学072张同骥,软件基本运行环境为Windows环境1.3定义MYSQL:数据库管理软件DBMS:数据库管理系统Windows 2003/XP:运行环境1.4参考资料《实用软件工程》机械工业出版社《数据库系统概论》高等教育出版社《软件工程应用实践教程》清华大学出版社2总体设计2.1需求规定按照需求分析文档中的规格要求,使用条形码扫描器入库、库存、出库,使得信息传递准确、流畅。
同时,系统最大限度地实现易安装,易维护性,易操作性,运行稳定,安全可靠。
2.2运行环境数据库管理系统软件:MYSQL 运行平台:Windows XP/ Windows 2003 分辨率:最佳效果1024x768像素2.3基本设计概念和处理流程仓库管理---入库仓库管理---出库2.4结构3接口设计3.1用户接口 用户接口采用窗口化,菜单式进行设计,在操作时响应热键3.2外部接口硬件接口一卡通,扫描仪器软件接口//通过JDBC 对MYSQL 数据库的连接3.3内部接口 通过面向对象语言设计类,在public 类中实现调用 各模块之间采用函数调用、参数传递、返回值的方式 类间实现严格封装进货流程进货单借货流程借货单调货流程调货单销退流程销售发票移库流程 移库单复核修改入库单入库记保管帐 入库单 采购员 销售开票员 移库调度库房管理员入库流程销售开票流程普通发票调退流程调退单进货退出流程还货单换货流程 退货单移库流程移库单库房配货 配货手工调整出库流程发票清单是否配货打印配货单修改配货状态 是否生成生成欠货单 各仓房打印库货单库货完工,将采购员 销售开票员移库调度 配货调度 库房保管员 YESNO YE基础信息管理 仓库信息系统参数设置管理员设置 库房设置管理子系统 输入模块 维护模块 查看模块 出库模块入库模块需求模块还库模块统计模块分类统计仓库管理输入 数据原始数据输入基础信息数据管理请求数据仓库信息数据 系统参数管理员数据库房信息 结果4运行设计4.1运行模块组合本程序主要是以一个窗口为模块,一般一个窗口完成一个特定的功能,主窗口通过打开另一个子窗口来实现个模块之间不同功能的连接和组合。
ETL设计说明书

ETL设计说明书错误!未找到引用源。
Author: Zhang JianCustomer: ***目录1.概述 (5)2.ETL开发策略 (7)3.ETL系统架构设计 (8)3.1ETL整体框架 (8)3.2ETL系统逻辑架构 (8)3.2.1ETL系统的备份和恢复 (9)4.ETL应用框架设计 (10)4.1ETL应用架构逻辑图 (10)4.2ETL模式 (11)4.3数据抽取(Extract)和数据变换(Convert) (11)4.3.1数据抽取(Extract) (11)4.3.2数据变换(Convert) (11)4.3.3数据分割(Split) (12)4.4数据转换(Transform) (12)4.4.1字段合并与拆分 (12)4.4.2赋缺省值 (12)4.4.3数据排序(Sort) (12)4.4.4数据翻译(Lookup) (12)4.4.5数据合并(Merge) (12)4.4.6数据聚合(Aggregate) (13)4.4.7文件比较(File Compare) (13)4.4.8其他复杂计算 (13)4.5数据加载(Load) (13)4.5.1Pre-Load (13)4.5.2Load (13)4.5.3Post-Load (14)4.6ETL进程和进程调度 (14)4.7管理功能(Management Interface) (14)4.8初始数据、历史数据和日常数据ETL (15)5.开发规范 (16)5.1中间文件 (16)5.2临时文件 (16)5.3BAPI参数文件 (17)5.4ETL程序 (17)5.4.1DataStage Project命名 (17)5.4.2DataStage中Job命名 (17)5.4.3DataStage中Stage命名 (18)5.4.4DataStage中Link命名 (19)5.4.5DataStage中Routine命名 (19)5.4.6DataStage产生的Abap程序命名 (19)5.4.7DataStage中Table Definition命名 (20)5.4.8Store procedure程序命名 (21)5.5Reject文件 (21)5.6系统日志 (21)5.7ODBC (22)5.8版本控制 (22)5.8.1ABAP程序及BAPI程序 (22)5.8.2DataStage Job及Routine (22)5.8.3Store Procedure程序 (22)5.8.4文档 (22)5.9ETL Job开发方法规范 (23)5.9.1TableDefinition的使用原则 (23)5.9.2Extract Job的开发原则 (23)5.9.3CS Job的开发原则 (24)5.9.4Load Job的开发原则 (24)5.9.5Gc和Ge Job的开发原则 (25)5.9.6关于存储过程及BAPI (26)6.系统环境 (27)6.1开发、测试和运行环境规划 (27)6.2文件目录 (27)6.3DataStage Manager目录层级规划 (28)7.ETL应用设计 (30)7.1应用模块架构 (30)7.1.1DataStage Server (30)7.1.2DataBase Server (31)7.2ETL Job设计 (31)7.2.1Schedule Job (31)7.2.2Dependence Job (36)7.2.3Maintance Job (36)7.2.4Group Job (38)7.2.5Component Job (40)7.3ETL环境参数 (42)7.3.1JobParams.cfg文件格式 (42)7.3.2参数说明 (42)7.4公共Routine设计 (43)7.4.1Transform Routine (43)7.4.2Before/After SubRoutine (47)7.5初始ETL程序 (48)8.ETL开发流程及管理 (49)8.1开发环境准备 (49)8.2开发步骤 (49)8.2.1日常数据加载: (49)8.2.2初始数据加载: (49)8.2.3历史数据加载: (49)8.3角色及责任 (50)9.ETL质量控制及错误处理 (52)9.1ETL质量控制主要实现手段 (52)9.2拒绝文件及拒绝处理策略 (52)9.3已入库源数据发生错误的应对策略 (52)附录I.ETL Mapping文件文档模板 (54)附录II.ETL Data Flow文档模板 (55)附录III.ETL Job Dependency文档模板 (56)1. 概述ETL系统的核心功能就是按照本设计说明书的架构,将数据由数据源系统加载到数据仓库中。
概要设计说明书跟需求说明书

概要设计说明书跟需求说明书概要设计说明书概要设计说明书是软件开发过程中的一份重要文档,它对系统进行了整体的设计规划与说明,以满足客户的需求。
本文将详细介绍概要设计说明书的内容和结构,以及编写该文档的步骤和要点。
一、引言概要设计说明书的引言部分主要介绍项目的背景和目的,说明该系统的意义和价值,引起读者对系统的兴趣,并对本文档的结构和内容进行概述。
二、需求分析需求分析部分是对客户需求进行详细分析和描述,确保系统在设计和开发过程中能够满足客户的需求。
包括对功能需求和非功能需求的说明,以及系统所需资源等方面的分析。
三、概要设计概要设计是本文档的核心部分,它主要描述系统的整体设计方案和架构。
具体包括系统的模块划分、模块之间的接口定义、数据流程设计、系统性能要求等。
1. 系统模块划分在这个部分,我们将对系统进行模块划分,明确每个模块的功能和职责。
通过模块划分,我们可以将复杂的系统分解成若干独立的模块,便于开发和维护。
2. 模块接口定义模块接口定义是系统实现的关键,它定义了模块之间的通信方式和数据传输格式。
通过准确定义模块接口,可以确保模块之间的协作正常进行。
3. 数据流程设计数据流程设计是系统设计的重要环节,它描述了系统中数据的流动和处理过程。
通过数据流程设计,可以合理地组织和处理系统中的数据,提高系统的效率和可靠性。
4. 系统性能要求系统性能要求是概要设计中的又一重要方面,它描述了系统在运行和使用过程中的性能指标和要求。
合理地定义系统性能要求,可以确保系统在满足功能需求的同时,具备良好的性能表现。
四、开发计划开发计划部分主要描述了软件开发的时间安排和任务分配。
通过明确的开发计划,可以确保开发团队能够按时完成各个开发阶段的任务,并与客户进行及时的交流和沟通。
五、测试计划测试计划是为了保证开发出的软件能够具备足够的质量和稳定性,需要进行全面和系统的测试。
测试计划包括测试的范围、测试的方法和测试的资源等。
通过合理地制定测试计划,可以有效地发现和解决软件中存在的问题和缺陷。
数据仓库-系统设计说明书

数据仓库-系统设计说明书数据仓库-系统设计说明书1、引言1.1 目的本文档旨在详细描述数据仓库系统的设计方案,包括系统的架构、数据模型、数据抽取、转换和加载(ETL)流程、安全性、可用性等方面的内容。
1.2 范围本文档适用于数据仓库系统的设计过程,涵盖了系统的各个方面,以确保系统的正常运行和可扩展性。
2、系统架构2.1 总体架构本节描述数据仓库系统的总体架构,包括各个组件之间的关系和数据流。
2.2 数据仓库层次结构本节详细描述数据仓库系统的层次结构,包括数据仓库、数据集市、数据源等各个层次的定义和关系。
3、数据模型3.1 维度模型本节描述数据仓库系统所采用的维度模型,包括事实表和维度表的定义和关系。
3.2 元数据管理本节描述数据仓库系统中元数据的定义、管理和使用方式,包括元数据的存储、检索和更新机制。
4、数据抽取、转换和加载(ETL)流程4.1 数据抽取本节描述数据仓库系统中数据抽取的方式和流程,包括抽取数据的来源、频率和目标。
4.2 数据转换本节描述数据仓库系统中数据转换的方式和流程,包括数据清洗、数据集成、数据转换和数据加载的过程。
4.3 数据加载本节描述数据仓库系统中数据加载的方式和流程,包括数据加载的频率、目标和验证机制。
5、安全性5.1 用户权限管理本节描述数据仓库系统中用户权限的管理方式和机制,包括用户的注册、认证和授权过程。
5.2 数据访问控制本节描述数据仓库系统中数据访问控制的方式和机制,包括数据的保护、加密和审计功能。
6、可用性6.1 高可用性架构本节描述数据仓库系统中实现高可用性的架构设计,包括负载均衡、冗余备份和自动故障恢复机制。
6.2 容灾备份方案本节描述数据仓库系统中实现容灾备份的方案,包括数据的备份、复制和恢复策略。
7、本文档涉及附件本文档涉及的附件包括数据仓库系统的系统架构图、数据模型图、ETL流程图等相关文档。
8、本文所涉及的法律名词及注释本文所涉及的法律名词及注释包括但不限于《数据保护法》、《网络安全法》等相关法律和条款。
数据仓库概要设计

数据仓库概要设计数据仓库(Data Warehouse)是指把企业分散在不同数据库中的数据统一整合到一个数据库中进行存储和管理,并对这些数据进行分析和管理的一种数据库应用系统。
数据仓库的建设是企业信息化建设的重要组成部分,是企业对内部外部信息资源进行整合、挖掘和利用最有效的平台之一。
因此,进行数据仓库的概要设计是非常重要的一步。
1.数据仓库概述数据仓库,是一个能够存储大量历史数据的集合体,使得企业能够快速地进行数据分析、查询和决策。
数据仓库通常包括存储、管理和查询技术。
数据仓库的设计是基于自底向上的过程,通过收集各种应用中的数据来建立。
数据仓库的需求分析是设计的第一个步骤,通过需求分析可以把握到数据的来源、数据的主要特征、数据的处理方法、数据的处理效果等。
2.数据仓库的工作过程a.数据的收集数据收集的目的是获取各个分散在企业内部外部的数据源,并把这些数据源整合成数据集。
数据收集包括了跟踪源数据、数据的标准化、数据的清洗、数据的转换等。
b.数据的整合数据整合意味着将不同的数据源集成到一起,通常是通过ETL工具来实现。
ETL(Extract, Transform, Load)工具的主要功能是提取、转换和加载。
c.数据的存储数据仓库的存储方式一般有两种:关系型数据库和非关系型数据库。
d.数据的查询与分析数据仓库的用户可以通过BI工具(Business Intelligence)来进行数据的查询、分析和报表生成。
3.数据仓库的概要设计步骤a.数据仓库设计的第一步是需求分析,需求分析的目的是明确数据仓库的目标、范围和需求。
需求分析应该包括数据仓库的使用者、数据仓库所需数据的类型、数据的来源、数据的质量要求等。
b.数据仓库的概念设计是在需求分析的基础上,开始进行数据仓库的抽象模型的设计。
概念设计包括了数据仓库的模型设计、元数据的设计等。
c.数据仓库的逻辑设计是在概念设计的基础上,开始进行数据仓库的逻辑结构的设计。
数据仓库设计与ETL流程实操教程

数据仓库设计与ETL流程实操教程数据仓库(Data Warehouse)是一个专门用来存储和管理数据的系统,主要用于支持决策分析和业务报告。
在企业中,数据仓库的设计和ETL(抽取、转换、加载)流程是非常重要的环节。
本文将详细介绍数据仓库的设计步骤和ETL流程的实操教程。
一、数据仓库设计步骤1.确定业务需求:在进行数据仓库设计之前,首先需要明确业务需求。
与业务相关的问题是什么?需要哪些数据来解决这些问题?这些问题对应的维度和指标是什么?明确业务需求是数据仓库设计的基础。
2.数据源分析:分析企业的各个数据源,确定需要从哪些数据源进行数据抽取。
了解数据源的结构、规模和质量,为后续的ETL流程做好准备。
3.数据建模:在数据仓库设计中,数据建模是一个关键的环节。
可以采用维度建模或者企业级建模的方法。
维度建模按照事实和维度进行建模,可以支持灵活的查询和分析;而企业级建模更加注重数据的整合和一致性。
根据具体的业务需求,确定合适的数据建模方法。
4.抽取规则定义:在设计ETL流程之前,需要定义数据抽取的规则。
数据抽取规则包括数据抽取的频率、抽取的条件和抽取的方式等。
根据业务需求和数据源的特点,制定合理的抽取规则。
5.数据清洗和转换:在ETL流程中,数据清洗和转换是非常重要的环节。
在数据抽取后,对数据进行清洗和转换,包括去除重复数据、处理缺失值、处理异常值以及数据格式转换等。
通过数据清洗和转换,可以保证数据的质量和一致性。
6.数据加载:数据加载是将经过处理的数据加载到数据仓库中的过程。
在数据加载时,可以根据需要选择全量加载或者增量加载的方式。
全量加载会将整个数据源的数据加载到数据仓库中;而增量加载只会加载新增或者变更的数据。
7.数据质量检查:在完成数据加载之后,需要对数据进行质量检查。
通过数据质量检查,可以发现数据仓库中可能存在的问题,如数据不一致、数据丢失等。
根据数据质量检查的结果,及时进行修复和调整。
二、ETL流程实操教程1.数据抽取:根据已定义的抽取规则,从数据源中抽取数据。
ETL架构设计说明书V04

密级:ETL架构设计说明书XXXXXXXX公司目录1前言 (1)背景 (1)目的 (1)内容提要 (1)读者 (1)2ETL设计的目标和原则 (1)系统目标 (1)数据目标 (1)功能目标 (2)设计原则 (2)3ETL开发流程设计 (3)数据分析 (3)分析方法 (3)分析内容 (3)开发流程 (4)测试流程 (5)上线流程 (6)4DATASTAGE元数据管理 (6)元数据定义 (6)DATASTAGE元数据管理 (7)数据库元数据导入 (8)文件元数据导入 (8)5ETL架构 (9)ETL总体结构 (9)ETL关键任务设计 (11)数据加载 (11)Pre-Load (11)Load (11)Post-Load (12)数据清洗/变换 (12)数据转换 (13)ETL调度控制设计 (13)实现目标 (14)触发动作 (14)检查运行环境 (14)日志记录 (15)系统参数 (15)部署设计 (16)数据源到统一模型层之间 (16)统一模型层到数据集市之间 (16)ETL的备份与恢复 (17)ETL质量控制与错误处理 (17)ETL质量控制的主要手段 (17)拒绝数据库及拒绝处理策略 (18)已入库源数据发生错误的应对策略 (19)ETL主要流程设计 (19)数据抽取过程 (21)数据清洗过程 (21)数据转换过程 (22)数据装载过程 (22)ETL测试设计 (23)ETL功能测试 (23)模块功能 (23)调度功能 (23)数据准确性测试 (24)准确性测试的原则 (24)准确性测试的方法 (24)性能测试 (24)测试方法 (24)调优原则 (24)1前言1.1背景本文主要是为了明确系统中ETL的主要使用环境及使用方法而建,主要定义了在不同的环境中使用ETL的时候应该注意的配置及操作。
1.2目的本文档是为明确XXXX数据仓库的ETL架构设计而编制的,为项目的ETL系统开发后续工作提供指南。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
XXXX企业数据仓库概要设计说明书ETL概要设计分册
(文档编码:OM-BIDW-C008)
(版本01.00.000)
未经许可,不得以任何形式抄袭
XXXX版权所有,翻板必究
OM数据仓库XXXX企业数据组
2009年3月
文档变更历史
目录
1概述 (4)
2设计原则和前提 (5)
2.1 整体部署 (5)
2.2 前提条件 (6)
2.3 设计原则 (6)
3整体框架 (7)
3.1 ETL系统架构图 (7)
3.2 ETL系统功能模块描述 (7)
4数据抽取模块 (9)
4.1 假设与约定 (9)
4.2 模块功能图 (9)
4.3 各子模块功能及处理流程 (11)
5数据加载模块 (11)
5.1 假设与约定 (11)
5.2 数据加载模块图 (11)
5.3 数据加载功能模块描述 (12)
6作业调度模块 (13)
6.1 模块概述 (13)
6.2 假设与约定 (13)
6.3 作业调度流程 (13)
6.4 ETL作业种类及调度实现方法 (14)
7监控管理模块 (15)
7.1 监控管理模块图 (15)
ETL监控内容 (16)
附录1控制表及控制文件设计 (16)
附录2:文件目录及编码说明 (19)
1概述
ETL是数据仓库系统开发中至关重要的一个过程,它涉及到对源数据的抽取、整合及各种转换,并最终形成面向用户的分析数据。
由于数据仓库系统的数据源来自于多个分散的业务系统,对不同业务系统的数据整合及清洗转换将是一个复杂的过程,ETL过程决定了数据仓库系统获取数据的准确性。
另外由于ETL包括数据抽取、数据清洗、数据转换及数据加载等数据处理过程,这些处理过程分散在不同的系统平台及开发工具上,对这些作业过程的统一调度将是一个重要的问题,作业调度涉及到系统的稳定性。
2 设计原则和前提
2.1 整体部署
数据组服务器
服务器
该服务器完成两项功能:1、接口文件服务器,所有被接入DW 的数据文件必须通过该服务器中转
2、数据备份,来自网关的数据文件将长期保留在该服务器上,作为文件备份
数据仓库ETL 整体部署图
✧ 网关通道数据库服务器是数据仓库的外围数据库系统,数据仓库中的绝
大部分数据都将来自网关通道数据库服务器
✧ 基于目前短彩部自身情况的考虑,在数据源服务器和数据仓库服务器之
间增加一台FTP 文件服务器,其功能有二:
◆ 接口文件服务器,所有被接入DW 的数据文件必须通过该服务器中转 ◆ 数据备份,来自网关的数据文件将长期保留在该服务器上,作为文件
备份
2.2 前提条件
ETL概要设计将基于下面的前提条件
✧ETL逻辑:XXXX企业的数据虽然分布在不同的通道,但是各通道数据的
共性度非常高,因此ETL中不存在逻辑复杂的转换(Transformation)及数
据质量管理等流程,整个ETL只需要实现抽取(Extraction)和加载(Loading)两个功能即可
✧ETL工具:自主开发,具体开发语言待定?;
✧作业调度工具:自主开发,具体开发语言待定?。
2.3 设计原则
✧ETL应该是基于元数据库中定义好的处理规则;并且应由可复用的过程
或相关组件来实现;
✧用户或客户端应用程序不应该直接执行数据获取程序,数据仓库层所有
的数据更新应该由数据获取过程自动控制;
✧通过良好的设计和相关处理过程的协调使得系统的CPU处理时间最少;
要充分利用系统和软件的并行处理性能;
✧ETL过程尽可能分解为独立的几个子处理过程以便于作业管理和调度;
✧在ETL设计时,需要详细计算并考虑ETL的处理性能,时间窗口及错误
处理控制。
并详细考虑各个ETL任务在各台物理主机上的分布。
✧需要提供一个监控统计模块对ETL的整个过程进行有效的监控和统计,
提供GUI界面对ETL各个任务的处理情况进行统计和监控,例如每个ETL
任务的状态、处理记录的条数、处理某个任务所用的时间、出错的情况
等。
3整体框架
本章从宏观体系结构的高度,概要叙述ETL系统的基本架构和设计思想,着重于描述架构的特点、系统主要组成、ETL各个部分的基本功能和它们之间的关系以及方案选择的出发点。
3.1 ETL系统架构图
ETL负责对业务系统数据及其他外部源数据进行数据抽取,并存放在数据仓库系统中的STAGE数据库中。
ETL过程包括数据抽取和数据加载等几个逻辑上相对独立的数据处理过程。
同时由于在ETL的处理过程中需要对ETL的错误处理以及作业调度等,ETL系统逻辑架构图如下图所示:
ETL逻辑构架图
3.2 ETL系统功能模块描述
从上图可以看到ETL系统包括数据抽取、数据加载、错误处理、作业调度、监控管理等几个功能模块,各功能模块的具体情况如下:
4数据抽取模块
4.1 假设与约定
✧重复文件处理:文件重复上传,则采取覆盖式的处理办法,我们认为最
后上传的文件是接近正确的文件。
即如果某个文件先后上传了几次,那么我们最后入库的文件将是最后一个上传的文件。
✧不对数据质量作监控:因为数据仓库的数据源平台比较单一,涉及到的
网络比较平稳,因此不对数据抽取的结果文件作质量监控。
✧系统的所有功能都由程序自动控制,原则上不允许手工干预
4.2 模块功能图
数据抽取模块如下图所示:
数据抽取流程图
该模块由自主程序开发实现,除主程序外,还包括目录扫描进程,文件处理进程,文件压缩,文件传输等几个子模块。
该模块将由两个子程序驱动
✧数据抽取子程序:该程序主要完成定时的数据抽取功能,并将抽取后得
到的文本文件放到指定的目录下面。
✧FTP传输子程序:该程序定时扫描指定目录,如果文件到达,则将文件传
输至接口机上。
从上图中可以看到在该模块处理流程中用到一系列的控制表及控制文件,各控制表及控制文件的具体格式见
4.3 各子模块功能及处理流程
对于以上处理步骤的关键过程信息都要记录到《数据ETL日志表》表中。
5数据加载模块
5.1 假设与约定
因为数据抽取与数据加载是在不同的服务器上执行,为了同步两者之间的事件消息,我们需要建立一个消息同步的机制,即当数据抽取完成时,需要发给数据加载一个消息。
即在传输数据接口文件完成后,附带一个
传输完成标志文件。
5.2 数据加载模块图
数据加载模块流程如下图所示:
数据加载模块流程图5.3 数据加载功能模块描述
6作业调度模块
6.1 模块概述
作业调度是系统运转的支点,从数据加载到数据处理的全部脚本都由作业调度系统自动完成。
其功能包括:
✧事件扫描。
按照作业的执行周期属性,周期性定时扫描作业所依赖的事
件是否完成,以决定该作业是否执行;
✧参数生成。
根据作业配置信息,自动生成作业执行参数,并将参数传递
给作业;
✧追跑历史数据。
因为某些原因,导致作业执行延时,在作业满足事件依
赖后,需要追跑历史作业。
6.2 假设与约定
✧数据抽取模块分散到各数据源服务器,由各数据源服务器自行按照文档
要求进行数据抽取,并将抽取结果FTP到指定的接口机的制定目录下
✧为了简化调度流程,OMDW将采用事件扫描模式,而不是事件触发模式。
即为了触发某个作业,程序会定时的扫描作业所依赖的事件,如果所依
赖的事件全都完成,则执行该作业。
6.3 作业调度流程
作业调度流程如下图:
作业调度流程图6.4 ETL作业种类及调度实现方法
7监控管理模块
7.1 监控管理模块图
ETL监控管理示意图如下:
ETL监控管理示意图
ETL监控内容
从上图可以看到ETL监控包括如下几方面内容:
✧ETL系统在ETL作业出现错误或ETL数据处理质量没达到要求时通过ETL
监控系统进行短信息、BP、EMAIL、声音、特殊图像等多种告警手段提供
现场和远程告警;
✧ETL在作业处理过程中需把作业的处理时间、作业完成或失败信息等记
录到数据库中并在ETL监控系统中进行显示以了解ETL作业的状态以及
历史状况;
✧另一方面需通过ETL监控系统了解ETL各作业的数据处理质量情况(如
处理的记录数等);
附录1:控制表及控制文件设计
Table Name: TE_ETL_CYC
Table Name: TE_ETL_DS_INF
Table Name: TE_ETL_DS_LOG
Table Name: TE_ETL_FILE_INF
Table Name: TE_ETL_FILE_REG
Table Name: TE_FTP_STAT
Table Name: TE_PRO_EXE_STAT
Table Name: TE_PRO_INF
Table Name: TE_PRO_PRM_INF
Table Name: TE_PRO_REAL_INF
附录2:文件目录及编码说明
✧目录结构
数据存放目录定义如下:/应用类型目录/通道目录/数据目录;
与外部系统的接口及相关消息文件的目录定义如下:/应用类型目录/接口目录(或消息文件目录);
说明:数据存放目录由三层结构组成,第一层为数据应用类型目录,第二层为通道编码目录,第三层为数据目录;
说明:对于代码资料,只有应用类型目录一层目录。
✧应用类型目录编码规则
应用类型目录编码规则为:S_C
✧通道目录编码规则
✧接口目录(或消息文件目录)。