kettle插件-doris批量写入插件,性能大幅提升
场景:
最近VIP群里面有小伙伴在使用apache doris遇到了一些问题,使用原生表输出步骤写doris数据库速度非常慢,体验非常不好。
我们团队老师里面将doris批量加载插件丢到群里面火速支援小伙伴,但是依然有小伙伴之前没接触过doris,使用插件时可能不太顺利。今天抽时间将此插件梳理下供小伙伴们参考。
总之有棘手问题来VIP:“天空飘来5个字,那都不是事”。

1、准备环境
本次使用的doris的版本为2.1.8-xxx,如下图所示:

创建测试表t3,表中有id和name两个字段
CREATE TABLE `t3` ( `id` int NULL, `name` varchar(10) NULL ) ENGINE=OLAP UNIQUE KEY(`id`) DISTRIBUTED BY HASH(`id`) BUCKETS 10 PROPERTIES ( "replication_allocation" = "tag.location.default: 1" );
2、安装插件
将doris-stream-loader插件放到kettle的plugins目录下面,然后重启spoon客户端。
3、设置数据库连接,由于doris支持mysql协议,我们这次采用mysql连接类型进行连接,注意我们这里使用的端口是9030,如下图所示:

4、设计转换,这里我们使用表输出步骤来写入数据,通过图中的步骤度量可以清楚的看到表输出步骤的速度非常慢,16条/秒,真是龟速前进啊,如下图所示:

5、使用doris-stream-loader插件,将表输出步骤替换为doris-stream-loader,数据写入速度直接2.9万/秒,3.4秒写入了10万笔数据,如下图所示:


6、doris-stream-loader配置
Fenodes:ip+端口,如127.0.0.1:8030,注意这里使用的是fe的端口8030
数据库:目标数据库,如test
目标表:写入数据的表,如t3
单次导入最大行数:批量提交行数,这个自己可以进行微调测试
表字段进行相应映射,其他字段设置比较简单使用默认值即可

浙公网安备 33010602011771号