使用开源Kettle导入数据
Kettle是一款开源的ETL工具,通过Kettle工具可以完成数据的抽取、转换、装入和加载。
海量数据搬迁场景下,使用Kettle自身提供的数据入库插件,入库速度在1500条/秒左右,数据搬迁耗时较高。而相同运行环境下,使用集成dws-client的自定义入库插件,数据入库速度能达到7500条/秒以上,入库速度提升5~15倍左右(仅参考数据,由客户环境例如表数据大小、列数、集群负载等情况决定)。
因此,在使用Kettle工具进行数据搬迁时,使用集成dws-client的自定义入库插件,可较大提高数据的搬迁速度。
准备Kettle环境
- 安装JDK11或以上版本,并配置相关环境变量。
- 访问官网网站下载开源Kettle工具。
安装dws-client自定义插件
- 下载dws-client相关插件。
- 在kettle的安装目录data-integration\plugins下新建目录,如dws-plugin。
- 将dws-kettle-plugin-xxx.jar放在data-integration\plugins\dws-plugin目录下。
- 在data-integration\plugins\dws-plugin下新建lib文件夹,将dws-client-xxx.jar、druid-xxx.jar放在data-integration\plugins\dws-plugin\lib目录下。
- 将huaweicloud-dws-jdbc-xxx.jar放在data-integration\lib目录下。
使用Kettle工具导入
- 双击运行Kettle安装目录pdi-ce-10.2.0.0-222\data-integration下的Spoon.bat (Linux 环境使用spoon.sh),打开Spoon,新建转换任务,单击“新建 >转换”。
如果提示以下相关错误信息,表示Java版本不对,请重新安装Java版本。
- 添加“表输入”节点,并配置好数据库连接、和需要搬迁的表和表字段。新建数据库连接时,可在对应界面单击“测试”按钮,验证连接参数是否配置OK。配置好需要搬迁的表和表字段对应的SQL后,可以单击“预览”按钮查看需要搬迁的预览数据。
- 添加“DWS表输出”节点,并配置好数据库连接、目标表、目标表字段与数据源字段对应关系及其它参数。“DWS表输出”控制对应的数据源只支持PostgreSQL。
- 保存转换任务,并启动任务。
- 查看运行结果,去目标数据表检查搬迁数据总数和明细数据是否与需要搬迁的数据一致。