更新时间:2024-03-06 GMT+08:00

使用开源Kettle导入数据

Kettle是一款开源的ETL工具,通过Kettle工具可以完成数据的抽取、转换、装入和加载。

海量数据搬迁场景下,使用Kettle自身提供的数据入库插件,入库速度在1500条/秒左右,数据搬迁耗时较高。而相同运行环境下,使用集成dws-client的自定义入库插件,数据入库速度在22000条/秒左右,入库速度提升15倍左右。

因此,在使用Kettle工具进行数据搬迁时,使用集成dws-client的自定义入库插件,可较大提高数据的搬迁速度。

当前dws-kettle-plugin版本仅支持pdi-ce-9.4.0.0-343版本,新版本是否兼容,请以实际验证结果为准,推荐用户使用pdi-ce-9.4.0.0-343版本。

准备Kettle环境

  1. 安装JDK1.8,并配置相关环境变量。
  2. 访问下载地址下载Kettle工具,下载解压即可。

安装dws-kettle-plugin自定义插件

  1. 下载dws-client相关插件。

    1. dws-kettle-plugin.jar:访问下载地址,获取最新版本使用。
    2. dws-client.jar:访问下载地址,获取最新版本使用。

    3. caffeine.jar:访问下载地址,选择与dws-client对应依赖的版本,例如dws-client为1.0.10,则获取1.0.10下对应的caffeine.jar。

      必须选择dws-client对应依赖的版本,使用其他版可能会出现不兼容问题。

    4. huaweicloud-dws-jdbc.jar:访问下载地址,选择与dws-client对应依赖的版本,例如dws-client为1.0.10,则获取1.0.10下对应的huaweicloud-dws-jdbc.jar。

  2. 在kettle的安装目录data-integration\plugins下新建目录,如dws-plugin。
  3. 将dws-kettle-plugin.jar放在data-integration\plugins\dws-plugin目录下。
  4. 将dws-client.jar、caffeine.jar放在data-integration\plugins\dws-plugin\lib目录下。
  5. 将huaweicloud-dws-jdbc.jar放在data-integration\lib目录下。

使用Kettle工具导入

  1. 双击运行Kettle安装目录pdi-ce-9.4.0.0-343\data-integration下的Spoon.bat,打开Spoon,新建转换任务,单击“新建 >转换”。
  2. 添加“表输入”节点,并配置好数据库连接、和需要搬迁的表和表字段。新建数据库连接时,可在对应界面单击“测试”按钮,验证连接参数是否配置OK。配置好需要搬迁的表和表字段对应的SQL后,可以单击“预览”按钮查看需要搬迁的预览数据。

  3. 添加“DWS表输出”节点,并配置好数据库连接、目标表、目标表字段与数据源字段对应关系及其它参数。“DWS表输出”控制对应的数据源只支持PostgreSQL。

  4. 保存转换任务,并启动任务。

  5. 查看运行结果,去目标数据表检查搬迁数据总数和明细数据是否与需要搬迁的数据一致。