GaussDB(DWS)与Kettle对接指导

举报
古月磊 发表于 2021/01/22 15:50:20 2021/01/22
【摘要】 Kettle是一款开源的ETL(Extract-Transform-Load )工具,数据迁移的过程也可以使用Kettle工具来实现。

1   安装kettle 工具

KettlePentaho开发的一款开源ETL工具,可在WindowLinuxUnix上运行,抽取数据高效稳定。它提供了一个图形化的用户界面来管理来自不同数据库的数据。本文以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包。

  1. 把Oracle的JDBC的jar包拷贝到“D:\data-integration\libswt\win32”下。
  2. 把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”。

单击,启动任务。

在弹出的“执行作业”对话框中,单击“执行”。

--结束

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。