跳到主要内容
最后于 更新

Kettle

Kettle Doris Plugin 是 Doris 的 Kettle 插件,用于在 Kettle 中通过 Stream Load 将其他数据源的数据写入 Doris。

这个插件使用 Doris 的 Stream Load 功能进行数据导入,需要配合 Kettle 服务一起使用。当你已经使用 Kettle 进行 ETL 作业编排,并希望将 Kettle 支持的数据源写入 Doris 时,可以使用该插件完成数据同步。

关于 Kettle​

Kettle 是一款开源的 ETL(Extract, Transform, Load)工具,最早由 Pentaho 公司开发。Kettle 是 Pentaho 产品套件中的核心组件之一,主要用于数据集成和数据处理,能够从各种来源提取数据,对数据进行清洗和转换,并将数据加载到目标系统。

更多信息请参阅 Pentaho 官网。

使用流程​

使用 Kettle Doris Plugin 将数据写入 Doris 的流程如下:

步骤用户目标操作
1准备 Kettle 环境下载并解压 Kettle,或自行编译 Kettle。
2准备 Doris 插件在 Doris 源码中编译 Kettle Doris Plugin。
3安装插件将编译后的 doris-stream-loader 插件复制到 Kettle 的 plugins 目录。
4构建作业在 Kettle 中选择 Doris Stream Loader,并配置 Doris 连接与导入参数。
5运行同步启动作业,将数据通过 Stream Load 写入 Doris。

准备 Kettle 环境​

下载并启动 Kettle​

  1. 访问 Kettle 下载页面 下载 Kettle。
  2. 解压下载包。
  3. 运行 spoon.sh 启动 Kettle。

自行编译 Kettle​

如需自行编译 Kettle,请参考 Pentaho Kettle 编译说明。

编译并安装 Kettle Doris Plugin​

编译插件​

在 Doris 源码目录下进入 extension/kettle,然后编译插件:

cd doris/extension/kettle
mvn clean package -DskipTests

安装插件​

编译完成后,将插件包解压,并将 doris-stream-loader 复制到 Kettle 的 plugins 目录:

cd assemblies/plugin/target
unzip doris-stream-loader-plugins-9.4.0.0-343.zip
cp -r doris-stream-loader ${KETTLE_HOME}/plugins/

构建并运行作业​

构建 Doris Stream Loader 作业​

在 Kettle 的批量加载中找到 Doris Stream Loader,并构建作业。

在 Kettle 中创建 Doris Stream Loader 作业

运行作业​

点击开始运行作业,即可完成数据同步。

在 Kettle 中运行 Doris Stream Loader 作业

参数说明​

下表说明 Doris Stream Loader 作业中的主要配置项:

参数默认值是否必填说明
Step name--Y步骤名称。
fenodes--YDoris FE HTTP 地址,支持多个地址,使用英文逗号分隔。
数据库--YDoris 的写入数据库。
目标表--YDoris 的写入表。
用户名--Y访问 Doris 的用户名。
密码--N访问 Doris 的密码。
单次导入最大行数10000N单次导入的最大行数。
单次导入最大字节10485760 (10 MB)N单次导入的最大字节大小。
导入重试次数3N导入失败之后的重试次数。
Stream Load 属性--NStream Load 的请求头。
删除模式NN是否开启删除模式。默认情况下,Stream Load 执行插入操作;开启删除模式后,Stream Load 写入均为删除操作。

更多 Stream Load 参数请参考 Stream Load 文档。

常见问题​

Kettle Doris Plugin 是否可以单独使用?​

不可以。Kettle Doris Plugin 需要配合 Kettle 服务一起使用。

fenodes 应该如何填写?​

fenodes 填写 Doris FE HTTP 地址。如果有多个 FE 地址,可以使用英文逗号分隔。

删除模式会如何影响写入?​

默认情况下,Stream Load 执行插入操作。开启删除模式后,Stream Load 写入均为删除操作。