GaussDB(DWS)与Kettle对接指导
1 安装kettle 工具
Kettle是Pentaho开发的一款开源ETL工具,可在Window、Linux、Unix上运行,抽取数据高效稳定。它提供了一个图形化的用户界面来管理来自不同数据库的数据。本文以Windows 7 专业版、Kettle 6.1为例,讲解如何安装和配置Kettle工具。
约束条件
Kettle 6.1需要的JDK版本为Java 7 32位,请从Oracle官网下载。
操作步骤
步骤1 从Pentaho官网获取最新的Kettle安装包。下载地址:http://community.pentaho.com/projects/data-integration/。
步骤2 解压下载后的压缩包,得到文件名为“data-integration”的目录。
步骤3 配置Kettle依赖的Java环境变量。
打开“控制面板>所有控制面板项>系统>高级系统设置”,编辑环境变量。
步骤4 在弹出的环境变量窗口中,单击“新建”,添加系统变量“PENTAHO_DI_JAVA_OPTIONS”和用户变量“PENTAHO_JAVA_HOME”,并单击“确定”保存。
- “PENTAHO_JAVA_HOME”为Kettle调用的JDK安装路径。
- “PENTAHO_DI_JAVA_OPTIONS”为Kettle调用的JDK使用的虚拟内存大小,虚拟内存大小应该设置为1024M。
步骤5 重启操作系统。
步骤6 添加Oracle和Gauss200 OLAP的JDBC的jar包。
- 把Oracle的JDBC的jar包拷贝到“D:\data-integration\libswt\win32”下。
- 把Gauss200 OLAP的jar包“gsjdbc4.jar”重命名为“postgresql-9.3-1102-
jdbc4.jar”,替换“D:\data-integration\lib”下的“postgresql-9.3-1102-jdbc4.jar”。
步骤7 进入data-integration目录,执行“Spoon.bat”文件,启动Kettle工具。
2 创建kettle 数据抽取作业
本节介绍使用kettle工具实现数据从Oracle数据库迁移至Gauss200 OLAP数据库的过程。
操作步骤
步骤1 创建kettle转换任务。
如下图所示,鼠标右键单击“转换”,选择“新建”。
在弹出的“转换1”页签中,按“Ctrl+S”,在弹出的“另存为”对话框中,输入转换名“transform”,并单击“保存”。
步骤2 配置源端Oracle数据库连接。
在“主对象树”页签中,双击转换名“transform”,显示如下所示。
鼠标右键单击“DB连接”,选择“新建”,弹出“数据库连接”对话框,如下所示。
– 在“连接类型”区域框中选择Oracle。
– 在“连接方式”区域框中选择Native(JDBC)。
– 在源端数据库信息区域框中,填写源端Oracle数据库的连接名称、主机名称、数据库名称、端口号、用户名及密码。
填写好数据库连接信息后,单击“测试”,弹出如下“数据库连接测试”对话框,说明数据库连接成功。
步骤3 配置目标端GaussDB(DWS)数据库连接。
参考 步骤2,配置目标端GaussDB(DWS)数据库的连接。
在“主对象树”页签中,双击转换名“transform”,在出现的对象树中,鼠标右键单击“DB连接”,选择“新建”,弹出“数据库连接”对话框,如下所示。
– 在“连接类型”区域框中选择PostgreSQL。
– 在“连接方式”区域框中选择Native(JDBC)。
– 在源端数据库信息区域框中,填写目标端数据库的连接名称、主机名称、数据库名称、端口号、用户名及密码。
填写好数据库连接信息后,单击“测试”。若弹出如下“数据库连接测试”对话框,说明数据库连接成功。
步骤4 配置源端Oracle数据库的表信息。
在“核心对象”页签中,显示出转换任务的各种组件。单击“输入”,在出现的核心对象中,双击“表输入”,添加“表输入”模块。
双击“表输入”,弹出如下对话框。
– 输入“步骤名称”(如“读取Oracle”)
– 选择“数据库连接”:Oracle
– 填写SQL语句(如“select * from regions”)
单击“预览”,弹出“预览行选择”对话框,选择默认值(1000)。
弹出如下“预览数据”对话框,表明查询oracle数据库成功,单击“关闭”。
在“表输入”对话框中,单击“确定”保存。
步骤6 配置目标端Gauss200 OLAP数据库的表信息。
在“核心对象”页签中,显示出转换任务的各种组件。
单击“输出”,在出现的核心对象中,双击“表输出”,添加“表输出”模块。
将鼠标停留在“读取oracle”组件两秒,弹出如下的图标。
点击拖动或者shift+鼠标左键,拉出一条带有箭头的执行,指向“表输出”。
双击“表输出”,在弹出的对话框中,填写如下信息:
– 步骤名称(如“写入Gauss200 OLAP”)。
– 数据库连接:Gauss200 OLAP。
– 目标表:单击“浏览”,选择表regions。
– 选择“指定数据库字段”。
在“数据库字段”页签中,单击“输入字段映射”,如下所示,弹出“映射匹配”对话框。
单击“猜一猜”,进行映射关系匹配,然后单击“确定”,保存映射关系。
步骤7 执行抽取任务。
在以上步骤完成后,按“Ctrl+S”,保存转换“transform”。
单击,启动抽取任务(即把数据从oracle的regions表导入到Gauss200 OLAP的regions表)。
3 执行kettle 数据抽取作业调度
本节介绍使用kettle工具实现数据从Oracle数据库迁移至Gauss200 OLAP数据库的定时抽取。
前提条件
已完成1.2 创建kettle数据抽取作业。
操作步骤
步骤1 创建kettle数据抽取作业任务。
如下图所示,在菜单栏,选择“文件 > 新建 > 作业”。
在弹出的“作业1”页签中,按“Ctrl+S”,在弹出的“另存为”对话框中,输入作业名“job”,并单击“保存”。
步骤2 配置数据抽取作业调度。
在“核心对象”页签中,单击“通用”,在出现的列表中拖拽“START”、“转换”、“成功”到工作区,如下所示。
将鼠标停留在“START”和“转换”组件两秒,弹出如下的图标。
点击拖动或者shift+鼠标左键,拉出一条带有箭头的执行,如下图所示。
步骤3 编辑抽取动作。
双击,在弹出框中,设置作业定时调度,并单击“确定”保存。
双击“转换”动作,选择1.2 创建kettle数据抽取作业中保存的转换文件“transform.ktr”,并单击“确定”保存。
步骤4 执行数据抽取作业调度。
在以上步骤完成后,按“Ctrl+S”,保存作业“job”。
单击,启动任务。
在弹出的“执行作业”对话框中,单击“执行”。
--结束
- 点赞
- 收藏
- 关注作者
评论(0)