- 测试环境
- 达梦数据库版本:DM Database Server 64 V8 03134284132-20240115-215128-20081(官网测试版)
- KADB版本:KADB V003R002C001B0181
- Kettle版本:pdi-ce-9.4.0.0-343(官网下载)
- Python版本:python-2.7.11.amd64.msi(官网下载)
- PyYAML版本:PyYAML-3.11.win32-py2.7 (https://pypi.org/project/PyYAML/ 下载)
- PyGreSQL版本:PyGreSQL-4.1.win32-py2.7(exe,msi), (http://pygresql.org/files/ 下载)
- Greenplum window客户端:greenplum-db-clients-6.1.0-x86_64 (pivotal官网下载)
- 达梦数据库jdbc驱动:DmJdbcDriver18.jar (官网下载)
- 安装
按下面顺序安装软件:
- 数据库(dm、kadb)
- python-7.11.amd64.msi (注意安装时选择使用用户,要选”this user only”,否则安装PyGreSQL…exe将出现注册表中没有python)或者按照附录的内容,自行创建python的register信息)
- PyYAML-11.win32-py2.7
- PyGreSQL-1.win32-py2.7.msi
- PyGreSQL-4.1.win32-py2.7.exe
- greenplum-db-clients-1.0-x86_64
- kettle作业配置
创建如下kettle数据加载作业
Test作业是表输入,配置信息
其中dm数据库连接使用:generic database类型
需要把dm数据库的jdbc驱动:DmJdbcDriver18.jar拷贝到kettle的lib目录下
字段选择组件,将dm数据库的大写转换为kadb的小写
Greenplum load是greenplum批量加载组件,完成使用gpload命令将数据并行加载任务
Kettle原生支持greenplum,数据库连接配置如下:
Local hostname标签页配置
Port不用设置,gpload自动生成。Hostname设置为运行kettle的windows机器地址,该机器必须和dm和kadb网络互通
GP configuration配置
其中:
Path to the gpload:为greenplum客户端安装目录中gpload.py文件的地址
Control file:为gpload生成的yaml文件保存位置,将默认的cfg扩展名修改为yaml
Log file:为gpload日志文件保存位置
Data file:为gpload加载的数据文件保存位置
Encoding:设置为UTF8即可
实际测试kadb单节点,单实例,加载3145728条记录,gpload用时:5.65秒
附录
安装PyYAML时提示:Python version 2.7 required,which was not found register解决方法
Window命令regedit打开注册表编辑器,加入以下键值路径:
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Python\PythonCore\2.7\InstallPath