论文部分内容阅读
随着数据仓库的广泛使用,如何向数据仓库获取或者加载来自于不同硬件平台,不同操作系统,不同数据模型的多种业务数据,已成为数据仓库建立的关键问题。目前,系统的数据来源复杂而且分析应用尚未成型,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%。