青年数据库学习互助会

实测验证:Kettle与Doris高性能写入插件结合,性能直接拉满到爆表!

关注我,一起变强~

想真正学习或者提升自己的ETL领域知识的朋友欢迎进群,一起学习,共同进步。由于群内人员较多无法直接扫描进入,公众号后台加我微信入群,备注申请进免费群/申请进专业群/申请进医疗高级陪伴群。
Image

场景:

最近VIP群里面有小伙伴在使用apache doris遇到了一些问题,使用原生表输出步骤写doris数据库速度非常慢,体验非常不好。

我们团队老师立刻将doris批量加载插件丢到群里面火速支援小伙伴,另外一位老师则辅助设计trans,但是依然有小伙伴之前没接触过doris,使用插件时可能不太顺利。今天抽时间将此插件梳理下供小伙伴们参考。

总之有棘手问题来VIP:“天空飘来5个字,那都不是事”。

Image

 1、准备环境

本次使用的doris的版本为2.1.8-xxx,如下图所示:

Image

 创建测试表t3,表中有id和name两个字段

CREATE TABLE `t3` (    `id` int NULL,    `name` varchar(10) NULL) ENGINE=OLAPUNIQUE KEY(`id`)DISTRIBUTED BY HASH(`id`) BUCKETS 10PROPERTIES (    "replication_allocation" = "tag.location.default: 1");

2、安装插件

将doris-stream-loader插件放到kettle的plugins目录下面,然后重启spoon客户端。

3、设置数据库连接,由于doris支持mysql协议,我们这次采用mysql连接类型进行连接,注意我们这里使用的端口是9030,如下图所示:

Image

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

Image

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

Image
Image

6、doris-stream-loader配置

Fenodes:ip+端口,如127.0.0.1:8030,注意这里使用的是fe的端口8030

数据库:目标数据库,如test

目标表:写入数据的表,如t3

单次导入最大行数:批量提交行数,这个自己可以进行微调测试

表字段进行相应映射,其他字段设置比较简单使用默认值即可

Image

入群好处多多

a、只潜水也可以学到etl知识。

b、和大佬们探访方案,打开思维。

c、解决疑难问题,释放更多时间自由享受生活。

d、工作岗位内推,减少失业焦虑。

e、提供价值输出,挣点零花钱。

f、一个人可以走的很快,一群人可以走的更远,欢迎加入我们。

公开透明

疑难问题解决路径:

1)专业群互助:详细描述场景+问题->群内大佬解答/腾讯会议远程协助/demo编写->请大佬喝杯茶(10/20/50/100等双方自行沟通)。

2)进VIP群:专业老师指导解决。

推荐阅读:

kettle插件-高性能插入更新插件Upsert

ETL工具之kettle系列课程

ETL工具之nifi系列课程

商务合作:

  • 免费答疑,付费咨询、欢迎技术投稿。

  • 远程协助解决疑难问题。

温馨提示:

加微信请填写备注,否则拒绝。

关注我,一起成长~

🌾🌾🌾

Image

喜欢的话右下角点个【赞👍🏻】和【在看】吧

你的每个【点赞】和【在看】

我都当做鼓励❤️