Datastage JOB导入导出

来源:互联网 发布:淘宝上的古着 编辑:程序博客网 时间:2024/04/29 19:05

在现代化的信息工程开发中,源代码管理系统,例如 CVS, SubVersion, Rational ClearCase 等是必不可少的。通过源代码管理系统,企业可以对企业内部的信息资产进行有效的管理和版本控制。其支持协同开发的特点极大的提高了开发效率。DataStage 是当前主流的企业级 ETL 开发平台 InfoSphere Infomation Server 的核心产品。InfoSphere Information Server(IS)8.0 以前的版本不支持和源代码系统的集成,对 DataStage 作业的离线管理,只能通过 Datastage Designer 中的导入导出功能来实现, 其支持的格式包括 dsx 和 xml。在 IS8.1.x 版本中新增的子产品 Information Server Manager 也可以对作业进行导入导出,其支持的格式为 isx 格式。从 IS8.5 开始,InfoSphere Inforamtion Server 家族中的 Information Server Manager 产品开始提供与源代码管理系统(CVS,Subversion,Rational ClearCase)进行集成的功能。所以在 IS8.5 版本以前,如果需要对作业备份或恢复就只能通过这种导入导出的方式来实现(如下图所示)。其缺陷就是无法对作业进行版本控制,无法方便的切换到过去的某一个备份点,这样就给作业的开发及其使用者带来了极大的不变。


图 1. DataStage Designer 作业导出
作业导出

图 2. DataStage Designer 作业导入
作业导入

Information Server Manager 的作用及作业管理方式

InfoSphere Information Server Manager 是 InfoShpere Information Server 家族中的一员,它可以用来管理 DataStage 和 QualityStage 作业及相关资源。你可以使用 Information Server Manager 完成以下的任务:

  1. 查看不同元数据资源库(metadata repository)中的 DataStage 和 QualityStage 资源
  2. 创建可以用来编译和部署的资源包
  3. 执行作业的导入导出
  4. 源代码控制系统集成


图 3. Information Server Manager 作业导出
Information Server Manager 作业导出

Information Server Manager 只支持 isx 格式的导入导出文件。isx 格式是 Information Server 推出新型的归档文件,在本质上,它是一种 Java 归档文件(.jar),所以可以通过一些 jar 工具比如 Winzip,JavaSDK 等归档工具方便的查看。isx 格式文件与 dsx 格式文件的区别请参见表 1


表 1. ISX 格式与 DSX 格式比较

 

比较项ISXDSX格式Java 归档文件文本文件导入通过 InformationServer Manager 或者 istool通过 DataStage Designer 或者 DataStage 命令行导出通过 InformationServer Manager 或者 istool通过 DataStage Designer 或者 DataStage 命令行资产关系维护可以导出共享表定义关系,及与其关联的其它公共元数据丢失共享表定义关系,将其转换成 DS 表定义命令行导出范围从多个工程中,导出单个或多个资源,支持 * 等命名通配符导出整个工程资源BuildOp executable使用 -incexec 选项 , 将其导出到归档文件。不可以导出


 

此外,Information Server 还提供了相应的命令行工具 istool 对 IS 的各种资产进行导入导出,以及查询和删除公共元数据。此工具也只支持 isx 格式文件。


清单 1. istool 命令行导出资源样例

 

 /Client/istools/cli/istool export – domain dom1 -username user1  -password pass1 -archive "c:\arc.isx" -ds '"Server/test/test.pjb"'



清单 2. istool 命令行导入资源样例

 /Client/istools/cli/istool import – domain dom1 -username user1  -password pass1 -archive "c:\arc.isx" -ds Server/test


 

有关 istool 命令行的详细使用可以从 Information Server Information Center 中获得。

从 Information Server 8.5 开始,Information Server Manager 开始提供了对版本控制工具 (CVS,Subversion,Rational ClearCase) 集成的支持。利用该功能,你可以通过 Information Server Manager 直接的访问 CVS,Subversion 等源代码控制服务器 (source conrtol server),对作业开发工作进行版本控制。 例如在一个典型的 DataStage 和 QualityStage 开发环境如下:多个开发人员连接到相同的的 InfoSphere Information Serverdomain 系统即相同的元数据资源库(metadata repository),每个开发人员的 windows 机器都装有 DataStage 和 QualityStage 客户端。如果开发人员想要提交他们开发的资源作业到源代码控制服务器里,他们就需要在同样的 windows 机器上安装 Information Server Manager 即可。


1



图 4. 利用 Information Server Manager 进行版本控制的整体架构
利用 Information Server Manager 进行版本控制的整体架构

从元数据资源库 (Metadata Repository) 提交作业到源代码控制资源库 (Source Control Repository)

  1. 首先需要使用 DataStage Desinger 创建或修改已有的作业,然后用 Information Server Manager 连接到相应的 Information Server Managerdomain,在源代码控制工作空间 (source control workspace) 根据已连接的 domain 创建和共享一个源代码控制项目 (source control project), 然后发送选中的作业到源代码控制项目中。此时 Information Server Manager 将根据该作业创建一个归档并将归档写到源代码控制项目。
  2. 在 Information Server Manager 里使用源代码控制客户端 (source control client) 提交生成的作业归档到源代码控制服务器的资源库 (source control repository) 中去。

从源代码控制资源库 (Source Control Repository) 中,恢复以前版本的作业到元数据资源库 (Metadata Repository)

  1. 首先在源代码控制工作空间中的源代码控制项目里恢复作业归档:Information Server Manager 会从源代码控制服务器的资源库里查找作业归档。
  2. 在元数据资源库里替换作业:Information Server Manager 从源代码控制项目中导入已经恢复的归档来替换元数据资源库里面的作业。

介绍 Subversion 及 InfoSphere Information Server Manager 与 Subversion 集成配置方法

Subversion 是一个免费开源的版本控制系统,其目前是 Apache 软件组织的一个子项目,被称为是 CVS 的接班人。Subversion 包含了 CVS 的大部分功能,并且针对某些功能还做了改进。目前绝大多数开源软件都使用 Subversion 作为代码版本控制软件。

Subversion Server 的下载安装

截止发稿时,Subversion 的最新版本是 1.7.4,你可以登录 Apache Subversion下载相应的二进制包进行安装,本文下载和安装的是 windows 版本的Collabnet Subversion(需要注册)安装包,其里面包含了 Apache HTTP Server 的安装。


图 5. Collabnet Subversion 下载
Collabnet Subversion 下载

下载得到 CollabNetSubversion-server-1.7.5-1-Win32.exe,双击即可进行安装。配置 Apache Http Server 与 Subversion 请参照下载页面上的Readme文件。启动 Apache http server 通过 http 请求访问 Subversion repository: http://localhost:80/svn/,如果出现 404 错误,则可以先访问 http://localhost:80 查看 Apache Http Sever 是否启动成功,然后再检查下配置是否有误。

安装 Subversion 插件 Subclipse 到 Infosphere Information Server Manager

Subclipse 是 Eclipse 团队开发的用于集成 Eclipse IDE 与 Subversion 的一款插件。由于 Infosphere Information Server Manager 是基于eclipse 平台的工具,所以其安装 Subclipse 插件类似于 eclipse, 首先在安装 Information Server Manager 的客户机上点击开始->所有程序->IBM Infosphere Information Server,点击help->Install New Software 继续。


图 6. 打开安装插件面板并输入 Subclipse Url
打开安装插件面板并输入 Subclipse Url

点击 Next直到安装完成。点击 already installed可以查看 subclipse 是否安装成功。


图 7. 检查 subclipse 是否安装成功
检查 subclipse 是否安装成功

如何对 DataStage 作业进行版本控制

首先需要在 Information Server Manager Repository 视图中添加一个 Information Server Domain 连接。启动 Information Server Manager, 打开 Repository 视图,右键点击弹出Add Domain按钮,点击打开 Add Domain对话框。


图 8. 添加 domain
添加 domain

输入 domain 名字,用户名和密码点击 OK按钮。如果配置正确,连接 domainserver 成功,就可以在 Information Server Manager 中,浏览该 domain 上的工程列表及包。


图 9. 查看工程列表和包
查看工程列表和包

创建和共享源代码控制项目 (source control project)

源代码控制项目是 Infosphere Information Server Manager 和源代码控制系统 (source control system) 之间的桥梁,其是用来存储作业归档的位于源代码控制工作空间的本地文件系统。所以如果想要实现作业版本控制,就必须先建立一个源代码控制项目, 如果你在多个 Information Server Domain 上有多个作业,你就可以为每个domain 创建一个源代码控制项目。在 Information Server Manager 的 repository 面板上选择你想要创建源代码控制项目的 domain,右键点击 domain,从弹出菜单中点击Integrate Source Control, 将出现以下对话框。


图 10. 创建和共享 source control project
创建和共享 source control project

勾上 Share project under source control after successful project creation,在源代码控制项目成功创建以后将自动加载共享该项目。点击OK将弹出一个选择源代码控制系统资源库类型对话框。


图 11. 选择源代码控制系统资源库类型
选择源代码控制系统资源库类型

这里选择 SVN,点击 Next,将会出现选择 SVN Reporsitory 位置的面板。


图 12. 选择资源库位置
选择资源库位置

创建或选择你之前配置 Subversion Server 时创建的 repository url, 选择 Next继续。


图 13. 输入文件夹名字
输入文件夹名字

使用项目名字作为文件夹名字或者新建一个文件夹名字,选择Next继续。


图 14. 添加备注
添加备注

添加完备注,点击 Finish即可创建完成源代码控制项目,这是会弹出一个新的对话框 , 共享创建好的源代码控制项目到 Subversion。

 

图 15. 共享已经创建的源代码控制项目 (source control project)
共享已经创建的源代码控制项目 (source control project)

输入备注,勾上 .project文件,点击 OK按钮,即可以将创建的源代码控制项目共享到 Subversion 服务器。切换到源代码控制工作空间 (Source Control Workspace) 视图,即可看到共享的源代码控制项目。


图 16. 查看已经共享的 source control project
查看已经共享的 source control project

导入已经共享的源代码控制项目到你本地的空间

如果先前有管理员已经创建和共享了源代码控制项目,则可以直接将共享的源代码控制项目从源代码控制系统导入到你本地的源代码控制空间。这里以 Subversion 为例,将刚才创建并共享的源代码控制项目导入到本地的空间 。点击Window->Show View->Source Control Workspace,在源代码控制工作空间 (Source Control Workspace) 里面右键点击Import, 选择 Other->Checkout Projects from SVN,点击Next继续。


图 17. 选择存在的 SVN Repository 位置
选择存在的 SVN Repository 位置

选择之前创建的 SVN Repository,点击 Next继续。


图 18. 选择要导入的文件夹
选择要导入的文件夹

选择要导入的文件夹,点击Next,输入项目名字,点击 Next, 选择工作空间的本地位置,点击Finish即可以将共享的源代码控制项目导入到本地的空间中来。


图 19. 查看导入成功的源代码控制项目
查看导入成功的源代码控制项目

使用源代码控制系统进行作业版本控制

当有多个开发人员使用相同的 DataStage domain,并且提交作业或别的资源到源代码控制系统,就必须先把本地的源代码控制项目与 SVN 上的项目进行同步,使其是最新的版本。然后再进行开发提交工作

1. 提交作业到源代码控制系统

  • 切换到 Information Server Manager 的 Repository 视图,选择你想要提交的资源,这里以作业为例,右键点击需要提交的作业,点击Send to Source Control Workspace,此操作会创建一个作业归档,把作业归档保存在源代码控制工作空间的项目里。
  • 在 Repository 视图里再次右键点击需要提交的作业,点击 Team->Commit,在新的窗口中选中该作业,在作业备注中,添加相关的版本或修改信息后提交。该作业归档将被发送到 SVN 资源库(Repository)。


图 20. 提交作业到 SVN 资源库
提交作业到 SVN 资源库

图 21. 在源代码控制空间中查看已提交的作业
在源代码控制空间中查看已提交的作业

从上图可以看到,提交的作业以归档的形式保存在源代码控制空间。

2. 更新源代码控制系统中的作业

首先在 Information Server Manager 的 Repository 视图中选择已经提交到源代码控制系统中的作业,这里以作业 PERF_10C 为例,其是由一个 Row Generator Stage 与 Oracle Connector Stage 组成的作业。


图 22. 更新前的作业
更新前的作业

在 DataStage Designer 中对 PERF_10C 作业进行更新,将 Oracle Connector Stage 替换为 DB2 Connector Stage。然后转到 Information Server Manager 的 Repository 视图中刷新刚才更新的作业。


图 23. 更新后的作业
更新后的作业

可以看到该作业已经更新了,现在需要将更新的作业提交到 SVN Repository 里面去,其可以按照 提交作业到源代码控制系统的步骤,将更新后的作业提交到 SVN Repository 保存。

3. 如何从源代码控制系统恢复作业

如果想要将当前的作业恢复到 SVN 源代码控制系统的作业版本,比如当你的元数据资源库 (metadata repository) 里面的作业文件损坏了,或者你想要将当前的作业恢复到 SVN 源代码控制系统里的早期的作业版本甚至源代码控制系统里的不同分支里的作业的时候。你需要这样做(注意恢复作业的时候需要先将 DataStage Designer 关掉,以防恢复作业的 时候作业被锁,导致恢复失败)

确定你想要恢复的作业或其他资源,打开 Information Server Manager 的 Repository 视图,右键点击需要恢复的作业,点击Replace with,将会以下四个选项

  1. Base Revision
  2. Latest from Repository
  3. Branch/Tag
  4. Revision

当元数据资源库 (metadata repository) 里面的作业文件损坏或者发生了改变但还没有同步到 SVN 里面去,这时就可以选择Replace with->Latest from Repository,即可将当前作业从其最新的版本恢复。如果你想从 SVN 里面历史的版本恢复当前作业的话,你可以选择Replace with->Revision,将会出现一个显示该作业所有历史修改及其版本的视图。


图 24. 查看 SVN 里面的作业版本
查看 SVN 里面的作业版本

从上图可以看到该作业目前总共有两个版本 18 和 19,当前的版本是 19。若果想要恢复到版本 18。右键点击版本 18,选择Get Revision,将要恢复的版本切换到 18。


图 25. 选择需要恢复的 SVN 里面的作业版本
选择需要恢复的 SVN 里面的作业版本

可以看到版本 18 左上角加上了星号,此时只是将本地源代码控制空间中的归档给恢复到版本 18 了,下一步需要将元数据资源库 中的作业从归档中恢复,转到 Repository 视图中的 PERF_10C 作业,右键点击该作业,选择Replace from Source Control Workspace, 然后选择需要替换 Yes按钮 , 刷新该作业,即可以看到改作业已经被替换到版本 18。


图 26. 成功恢复的作业
成功恢复的作业

如果你想要将当前的作业从别的分支中恢复,这里你可以选择 Replace with->Branch/Tag,将弹出一个窗口,选择存在的分支,然后按照先前恢复历史版本的方式进行恢复。

 

 

0 0
原创粉丝点击