基于DataStage的自动转换及测试工具的设计与实现

基于DataStage的自动转换及测试工具的设计与实现

论文摘要

随着数据仓库的广泛使用,如何向数据仓库获取或者加载来自于不同硬件平台,不同操作系统,不同数据模型的多种业务数据,已成为数据仓库建立的关键问题。目前,系统的数据来源复杂而且分析应用尚未成型,IBM的数据抽取、转换和装载工具DataStage得到了广泛应用。DataStage包括多种类型的Job,Job定义了一系列如何执行数据抽取、转换和装载的步骤,常用的Job分为Server Job和Parallel Job。其中,Parallel Job支持并行处理体系结构,与Server Job相比,其具有更高的性能优势。为了获得更高的性能并缩短开发时间,采用Server Job的用户倾向于进行版本的迁移及升级。目前,市场上并无实现Job自动转换与测试的相关工具,设计和实现的技术、理论都是由IBM提供和支持。本系统使用Java/J2SE进行开发,包括自动转换和自动测试两个大功能模块。自动转换模块包括导出模块、树结构创建模块、转换模块、清洗模块和导入模块,用于实现Server Job向Parallel Job的自动转换。导出模块封装DataStage底层命令,使Job以XML形式导出。树结构创建模块使用DOM解析XML并构建树结构。转换模块通过替换相应的Parallel Job元素来重构XML结构树,从而获得了对应的Parallel Job。清洗模块重命名Job元素,防止破坏原始Job元素。导入模块封装DataStage底层命令,将XML形式的Job导入到DataStage服务器。自动测试模块包括导出模块、树结构创建模块、测试数据生成模块,校验及显示模块,用于验证和校验自动转换生成的Job。树结构创建模块使用DOM解析XML形式的Job来获取数据源模式。测试数据生成模块使用获取的模式,创建用于生成测试数据的Job并通过运行Job来获得测试数据。校验及显示模块将生成的测试数据作为数据源并比较、显示两个不同类型Job的运行结果。与手工转换相比,自动转换在开发效率上提高了70%,在成本上减少了50%,带来的直接和间接利润高达60%。

论文目录

  • 摘要
  • Abstract
  • 第一章 绪论
  • 1.1 研究背景
  • 1.2 ETL 的发展与现状
  • 1.3 研究意义与目标
  • 1.4 主要工作与论文结构安排
  • 1.4.1 主要工作
  • 1.4.2 论文结构安排
  • 1.5 本章小结
  • 第二章 系统开发技术简介
  • 2.1 ETL 工具介绍
  • 2.1.1 ETL 基本概念
  • 2.1.2 ETL 的作用
  • 2.2 IBM DataStage 介绍
  • 2.2.1 DataStage 的架构及特点
  • 2.2.2 DataStage 的开发环境
  • 2.3 DataStage 的核心元素
  • 2.3.1 Projects
  • 2.3.2 Jobs 和 Stages
  • 2.3.3 Table Definitions
  • 2.3.4 Links 和 Containers
  • 2.4 非回归测试
  • 2.5 XML DOM 简介
  • 2.5.1 DOM 概述
  • 2.5.2 DOM 接口
  • 2.6 本章小结
  • 第三章 系统需求分析及设计
  • 3.1 系统需求分析概述
  • 3.1.1 自动转化工具的需求分析
  • 3.1.2 自动测试工具的需求分析
  • 3.2 系统架构设计
  • 3.3 自动转换工具的分析与设计
  • 3.3.1 导出模块分析
  • 3.3.2 树结构创建模块分析
  • 3.3.3 转换模块和清洗模块分析
  • 3.3.4 导入模块分析
  • 3.4 自动测试工具的分析与设计
  • 3.4.1 自动测试工具的整体设计
  • 3.4.2 提取 Table Definition
  • 3.4.3 生成测试数据
  • 3.4.4 Job 的执行
  • 3.4.5 显示比较结果
  • 3.4.6 测试不同 Project 中的 Job
  • 3.4.7 使用特定的 Table Definition
  • 3.5 本章小结
  • 第四章 自动转换及测试工具的实现
  • 4.1 自动转换工具的实现
  • 4.1.1 自动转换工具实现的两个关键步骤
  • 4.1.2 导出模块的实现
  • 4.1.3 树结构创建模块的实现
  • 4.1.4 转换模块和清洗模块的实现
  • 4.1.5 导入模块的实现
  • 4.1.6 Job 转换复杂度审计的实现
  • 4.1.7 使用自动转换工具进行转换
  • 4.2 自动测试工具的实现
  • 4.2.1 简单随机数据生成的实现
  • 4.2.2 智能测试数据生成的实现
  • 4.2.3 Job 自动编译和运行的实现
  • 4.2.4 运行结果的比较
  • 4.2.5 比较结果显示的实现
  • 4.2.6 不同 Project 中 Job 运行的实现
  • 4.2.7 使用特定 Table Definition 的实现
  • 4.3 实现 Job 转换的三种场景
  • 4.3.1 用户内部进行转换
  • 4.3.2 使用传统方式进行转换的外包
  • 4.3.3 使用特殊工具进行转换的外包
  • 4.3.4 三种场景的比较
  • 4.4 自动转换及测试工具的测试与分析
  • 4.5 本章小结
  • 第五章 总结与展望
  • 5.1 本文总结
  • 5.2 未来研究展望
  • 参考文献
  • 致谢
  • 相关论文文献

    • [1].基于DataStage的异构数据转换的研究与实现[J]. 中国新技术新产品 2009(04)

    标签:;  ;  ;  

    基于DataStage的自动转换及测试工具的设计与实现
    下载Doc文档

    猜你喜欢