企业数据往往分布在不同的业务子系统中,彼此独立,形成多个信息孤岛,如果要进行数据集成,那么企业所面临的一个关键问题就是如何高效的获取数据,同时又不用花费太多的精力和成本?
可惜理想很丰满,现实很骨感,我们的数据源可能来自于不同的数据库,例如DB2,Oracle,SQLServer,Teradata,Sybase,MySQL, Netezza; 也有可能位于不同的操作系统平台,例如AIX,Linux,Windows,Mainframe。那么,三个大大的疑问将不可避免地摆在我们面前:
怎么办?项目还能好好的进行下去吗?BI系统,数据仓库,数据集市的建设都还指望着前期数据集成工作能早日完成呢,负责集成的攻城狮们表示压力山大。。。
问题总会有解决的办法,利用DataStage便可轻松实现对各种异构数据库的访问和读写,从而让我们能节省出更多的时间和精力去创造更大的价值。
InfoSphere DataStage是IBM统一数据集成平台InfoSphere Information Server的重要组件,是业界主流的 ETL工具(Extract, Transform, Load)。
DataStage采用简单易用的图形化设计方式,内置丰富的功能模块和接口,从而支持对海量数据进行抽取、清洗、转换和加载。同时它广泛支持各种异构平台的数据源和各种类型的数据格式(结构化、半结构化和非结构化数据),具有满足最苛刻的数据集成需求所需的功能性、灵活性和可伸缩性。
DataStage提供多种功能强大,类型丰富的数据库连接器,满足企业数据集成所需:
DataStage不仅能提供对异构平台数据库的专用支持,而且还能对同一数据库实现多样化支持。例如对DB2数据库的连接,我们建议首选功能更丰富、性能更强大的DB2 Connector,但也可以用JDBC Connector和ODBC Connector来实现。
以下是通过这三种方式连接DB2数据库并读取数据的具体配置过程:
DB2 Connector配置
1.首先,需要在DataStage服务器上安装DB2数据库的客户端。
2.然后将DB2环境变量文件db2profile的路径添加到DataStage服务器的dsenv文件 中。
# Add for DB2
. /home/db2inst1/sqllib/db2profile
熟悉DataStage的朋友应该知道dsenv是DataStage的环境变量文件,每次重启DataStage都会读取该文件以获得运行时的环境变量,我们将db2profile添加至该文件的目的就是让DataStage通过DB2自身的客户端环境来访问目标DB2数据库。
Tips:dsenv文件位于$DataStage_Install_Directory/Server/DSEngine目录
3.然后重启DataStage以使环境变量生效
uv -admin -start
uv-admin –stop
4.接下来,打开DataStage Designer(DataStage客户端,用于设计开发ETL作业), 配置DB2Connector的属性,输入将要连接的DB2数据库名,用户名,密码以及表名。
5.完成配置后,运行作业,即可读取DB2表数据,如下图所示:
6.DB2 Connector提供丰富的DB2优化选项和原生API功能,例如可设置根据DB2 源表的某个字段进行Partitioned Read模式,从而获得极大的读取性能提升。而在JDBC Connector和ODBC Connector中,就没有这些功能选项可供调优,这也是为什么DB2 Connector是连接DB2数据库的首选原因。
JDBC Connector配置
1.首先将DB2自带的JDBC驱动包复制到DataStage服务器目录中,请注意文件访问权限。
db2jcc.jar
db2jcc_license_cu.jar
2.在DataStage服务器中的新建一个名为isjdbc.config的配置文件,添加JDBC驱动程序包和JAVA类名称如下所示:
Tips:isjdbc.config文件位于$DataStage_Install_Directory/Server/DSEngine目录中。
3.用JDBC Connector连接DB2数据库,不需要修改DataStage的环境变量文件dsenv,也不需要重启DataStage。
4.接下来,打开DataStage Designer客户端,在JDBC Connector中配置将要连接DB2数据库的URL,用户名,密码以及表名。
URL格式为jdbc:db2://DB2服务器IP地址:端口/DB2数据库名
5.完成配置后,运行作业,即可读取DB2表数据,如下图所示:
ODBC Connector配置
1.首先,修改DataStage服务器的ODBC配置文件:
$DataStage_Install_Directory/Server/DSEngine/.odbc.ini
添加连接DB2数据库的ODBC配置信息如下:
2.配置完DB2的ODBC数据源信息后,将DB2_DSN添加到$DataStage_Install_Directo ry/Server/Projects/Project_Name/uvodbc.config文件中。
3.用ODBC Connector连接DB2数据库,不需要修改DataStage的环境变量文件dsenv,也不需要重启DataStage。
4.接下来,打开DataStage Designer客户端,在ODBC Connector中配置DB2数据库 的ODBC数据源(DB2_DSN),用户名,密码以及表名。
5.完成配置后,运行作业,即可读取DB2表数据,如下图所示:
以上便是DataStage连接DB2数据库的三种配置方法介绍,怎么样,是不是感觉很简单很容易?没错,配置简单,容易上手,界面友好,功能强大,专业的ETL工具就是这么任性!
如果想了解更多有关DataStage的功能和数据集成场景,请访问下面链接:http://bigdata.evget.com/products-16-1.html
不论是专用连接器,还是JDBC连接器或ODBC连接器,都能实现对企业级数据库的访问;虽然条条道路通罗马,但采用的方式不同,效果也就会不一样。例如,专用连接器实现了对特定数据库(DB2,Oracle,Teradata等)的接口优化和原生API支持,可提供更快更好的处理性能,能驾驭大部分企业级的数据集成场景;而JDBC连接器和ODBC连接器则是通用的数据库连接器,配置简单,容易上手,虽然性能稍弱,但兼容性很出色,不仅支持主流的数据库,还能提供对开源数据库如NoSQL以及国内新兴数据库的广泛支持。总之,企业数据集成需求纷繁复杂,五花八门,DataStage可提供最全面的支持和最可靠的保障,如有机会,大家可以在实际应用中思考和体会。