一种基于元数据的etl实现方法及系统的制作方法

文档序号:8457335阅读:432来源:国知局
一种基于元数据的etl实现方法及系统的制作方法
【技术领域】
[0001] 本发明属于计算机的ETL技术领域,涉及一种ETL实现方法及系统,特别是涉及一 种基于元数据的ETL实现方法及系统。
【背景技术】
[0002] ETL(Extract Transform Load,数据仓库技术)是数据抽取(Extract)、转换 (Transform)、装载(Load)的过程,其是构建数据仓库的重要一环,用户从数据源抽取出所 需的数据,经过数据清洗转换,最终按照预先定义好的数据仓库模型,将数据加载到数据仓 库中去。
[0003] 目前各企业的ETL数据仓库基本采用两种开发方法:一种基于过程语言开发,例 如:SQL 语言(Structured Query Language,结构化查询语言)和 PERL 语言(Practical Extraction and Report Language,实用报表提取语言)等;另一种基于ETL图形化开发工 具,例如:DataStage、Informatica、0WB(0racle Warehouse Builder)等。
[0004] 在实际应用中,当选择过程语言开发时,ETL开发人员不但要梳理业务SQL,还要 进行大量PERL代码开发。采用这种方式时,人工参与活动较多,对开发人员专业技术的要 求也非常高。尤其是在代码开发量比较大的情况下,开发效率低下,导致技术对业务的响 应支持比较慢。更由于每个开发人员代码书写风格不完全一致,这也使得最终代码的质量 参差不齐。相应的,使用工具来实现ETL开发时,开发人员必须熟练掌握工具的开发技巧, 并且,在对开发人员技能要求较高的同时,由于工具本身的限制,必须开发一个完整的ETL Job或流程才能进行配置验证,一旦出错,问题排查可能需要对整个Job进行检查或者逻辑 进行重梳理,耗时长,效率低。

【发明内容】

[0005] 鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于元数据的ETL实 现方法及系统,用于解决现有技术在实现ETL开发时,需要完整的ETL JOB或流程才能配置 验证,在配置验证过程中一旦出错问题,在问题排查时可能需要对整个ETL JOB进行检查或 者逻辑进行重梳理,造成耗时长、效率低现象的问题。
[0006] 为实现上述目的及其他相关目的,本发明一方面提供一种基于元数据的ETL实现 方法,包括:获取预先编写的ETL需求;令所述ETL需求按照元数据转换规则形成ETL元数 据;将所述ETL元数据导入预创建的ETL元数据模型以存储所述ETL元数据;根据所述ETL 元数据生成ETL配置文件;将生成的ETL配置文件编译成可执行ETL JOB。
[0007] 可选地,所述ETL需求包括需处理的数据源信息、处理后的数据结果样式、及数据 处理方式。
[0008] 可选地,所述ETL元数据包括ETL过程元数据和ETL过程明细元数据;其中,所述 ETL过程元数据用于实现数据抽取、代码映射、数据清洗、数据转换、数据聚合、及数据加载; 所述ETL过程明细元数据用于存储数据抽取明细元数据、代码映射明细元数据、数据清洗 明细元数据、数据转换明细元数据、数据聚合明细元数据、及数据加载明细元数据。
[0009] 可选地,令所述ETL需求按照元数据转换规则形成ETL元数据的步骤包括:根据所 述ETL需求形成至少一个ETL单元;根据所述ETL单元形成所述ETL过程元数据;根据所述 ETL过程元数据形成所述ETL过程明细元数据。
[0010] 可选地,预先创建的ETL元数据模型包括多种数据模型,即包括ETL过程元数据模 型、数据抽取元数据模型、代码映射元数据模型、数据清洗元数据模型、数据转换元数据模 型、数据聚合元数据模型、以及数据加载元数据模型。
[0011] 可选地,根据所述ETL元数据生成ETL配置文件的步骤包括:分别根据所述ETL元 数据模型中包含的多种数据模型中每一种数据模型的所述ETL元数据生成相应的ETL配置 信息;根据每一种数据模型中生成的所述ETL配置信息形成所述ETL配置文件。
[0012] 可选地,预先创建的ETL元数据模型的具体内容包括:所属ETL名称、ETL元数据 代码、ETL流程顺序、及所述ETL过程明细元数据。
[0013] 可选地,将所述ETL元数据导入预先创建的ETL元数据模型以存储所述ETL元数 据的步骤包括:标准化所述ETL元数据;将标准化后的所述ETL元数据导入预先创建的ETL 元数据模型。
[0014] 可选地,将生成的ETL配置文件编译成可执行ETL JOB的步骤包括:编译所述ETL 配置文件;根据编译后所述ETL配置文件生成可执行的ETL JOB。
[0015] 本发明另一方面还提供一种基于元数据的ETL实现系统,包括:编写模块,用于预 先编写ETL需求;创建模块,用于预创建ETL元数据模型;与所述编写模块连接的获取模 块,用于从所述编写模块中获取预先编写的ETL需求;与所述获取模块连接的ETL元数据形 成模块,用于令所述ETL需求按照元数据转换规则形成ETL元数据;分别与所述创建模块和 所述ETL元数据形成模块连接的数据导入模块,用于将所述ETL元数据导入预创建的ETL 元数据模型以存储所述ETL元数据;与所述数据导入模块连接的配置文件生成模块,用于 根据所述ETL元数据生成ETL配置文件;与所述配置文件生成模块的编译模块,用于将生成 的ETL配置文件编译成可执行ETL JOB。
[0016] 如上所述,本发明所述的基于元数据的ETL实现方法及系统,具有以下有益效果:
[0017] 1、本发明中以元数据为基础,为企业的数据仓库提供了最基础的数据描述和定 义,例如:数据源定义、目标定义、转换规则等;同时元数据还包含关于数据含义的信息等 等,大大提高了 ETL管理效率,为数据仓库的发展和使用提供了方便;
[0018] 2、在本发明所述的基于元数据的ETL实现方法,从ETL需求的转换、ETL元数据的 模型化、生成ETL的配置文件到最后的编译生成可执行Job,每个环节都相互联系,若某一 个环节的形成过程或配置的元数据出现异常,都将导致下一个环节的出错,即在整个过程 中,任一个环节出错立即就能知道,有效地解决了使用ETL工具时只能完全开发之后才能 查错的技术缺陷;
[0019] 3、在本发明所述的基于元数据的ETL实现方法中,通过形成的元数据,自动生成 ETL J0B,规范了整个ETL开发流程。将传统的ETL开发过程转化为一种量化的过程,极大 提高了开发效率。规范化的元数据模型可以很清晰地展现ETL过程,方便开发人员梳理与 检查当前拟定的ETL流程,加深开发人员对ETL需求的理解,帮助开发人员找到最优的ETL 设计方案,确保最终得到的ETL Job执行准确且高效。
【附图说明】
[0020] 图1显示为本发明的基于元数据的ETL实现方法流程示意图。
[0021] 图2显示为本发明的基于元数据的ETL实现方法中步
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1