【YashanDB 知识库】Kettle 迁移 PostgreSQL 到 YashanDB
本文内容来自 YashanDB 官网,原文内容请见 https://www.yashandb.com/newsinfo/7396988.html?templateId=1718516
概述
由于 YMP 不支持 PostgreSQL 数据库,因此使用开源工具 Kettle 迁移 PosgreSQL 数据到 YashanDB。本文介绍了 Windows 环境的 Kettle 使用方式进行数据迁移。
环境
Kettle 版本:8.3
JAVA 版本:1.8
源 PostgreSQL:版本 12
目标 YashanDB:23.2.1.100
执行方式
Kettle 可以在 Windows 执行,Windows 环境可以使用图形界面,便于使用和调试。
Windows 执行 Kettle
1、确保 Windows 当前 JAVA 环境是 JAVA 1.8。如果当前 Windows 环境存在多个 JAVA 版本,而默认 JAVA 环境不是 JAVA 1.8,则可以通过 Windows 环境变量保证 Kettle 使用 JAVA 1.8,例如示例:
PENTAHO_JAVA 设置为 C:\Program Files\Java\jre-1.8\bin\java.exe
PENTAHO_JAVA_HOME 设置为 C:\Program Files\Java\jre-1.8

2、解压作业 zip 包,放置在 Kettle 所在目录。

3、在 Kettle 所在目录运行 Spoon.bat,启动图形操作界面。

4、打开 syncData_PostgreSQL_YashanDB.kjb,这个任务是总任务,它封装了多个子任务用于从 PostgreSQL 迁移数据到崖山。

5、打开 getDatas_PostgreSQL_YashanDB,这个任务是实际执行从 PostgreSQL 迁移数据到崖山的任务,封装了 DB 连接,需要根据实际环境进行调整和测试,确保后续配置 DB 连接 PostgreSQLInput 和 YashanOutput 的步骤都测试成功。

6、修改 getDatas_PostgreSQL_YashanDB 的 DB 连接 PostgreSQLInput,连接类型使用 PostgreSQL,然后输入 PostgreSQL 的主机地址、数据库名字、端口号、用户名和密码,点击“测试”,测试通过后选择“确认”。

7、修改 getDatas_PostgreSQL_YashanDB 的 DB 连接 YashanOutput,连接类型使用 Generic database,连接方式使用 Native(JDBC),设置自定义 JDBC URL(jdbc:yasdb://YashanDB_IP:YashanDB_PORT/YashanDB_User)和 JDBC 驱动类名称,并输入用户名和密码,点击“测试”,测试通过后选择“确认”。

8、修改 DB 连接 PostgreSQLInput 和 YashanOutput 后,getDatas_PostgreSQL_YashanDB 配置处于未保存状态,请务必对该任务进行保存。

9、修改 tablelist_PostgreSQL_YashanDB.csv,这个配置文件用于指定 PostgreSQL 需要迁移的库表名,注意这里需要和 PostgreSQL 的库表大小写保持一致,例如:
owner,table_name
dbmgr,t1
dbmgr,t2
dbmgr,t3
注意:1) owner 这一列对应于 PostgreSQL 的 schema;2) tablelist_PostgreSQL_YashanDB.csv 最后一行不能为空行。

10、切换回 syncData_PostgreSQL_YashanDB.kjb,执行运行即可。

11、确保数据迁移作业成功完成,如果迁移失败,可查看运行日志,定位原因并修复问题,然后重试迁移即可(注意:每次同步之前会将目标库中目标表 truncate,所以保证重试不会存在数据重复或者冲突的问题)。

版权声明: 本文为 InfoQ 作者【YashanDB】的原创文章。
原文链接:【http://xie.infoq.cn/article/ee82a6df82df9bfeebf8e058c】。文章转载请联系作者。
评论