Doris适配GaussDB开源开发任务心得
1 背景介绍
开源for Huawei(参考:https://developer.huaweicloud.cn/programs/opensource/contributing/) 通过和公司、高校、社区的开发者合作,完成鲲鹏、昇腾、欧拉、鸿蒙、高斯、云服务等与开源软件的适配开发,帮助繁荣Huawei的基础生态,同时让开源软件能够更加简单、高效的运行于华为云上。
2 任务目的和范围
本任务的主要目的是让Doris与华为云GaussDB数据库互通,打破数据孤岛,实现数据的自由流动和共享整合,拓展GaussDB数据库服务的影响力。同时,该任务也可以为一些项目迁移时候的改造打下基础,方便用户在云上做方案选型的时候,可以选择华为云GaussDB数据库服务,缩短开发周期,保证项目迁移进度,降低开发上云成本 。
3 适配验证
3.1 Doris集群部署
部署规划:
node1:fe、be、Broker
node2:be、Broker
node3:be、Broker
进行相应配置,启动fe、be、broker服务
3.2 Flink集群部署
本次适配使用Standalone模式
部署规划:
node1:TaskManager、JobManager
node2:TaskManager
node3:TaskManager
进行相应部署和配置
3.3验证
开发flink代码实现doris与gaussdb数据的互相传输
3.3.1 验证Doris to GaussDB
在Doris中建source表:
CREATE TABLE IF NOT EXISTS gcy_db.doris_to_gaussdb_source_t
(
name
VARCHAR(1024) NOT NULL COMMENT “姓名”,
sex
VARCHAR(1024) NOT NULL COMMENT “性别”
)
DUPLICATE KEY(name
, sex
)
DISTRIBUTED BY HASH(name
) BUCKETS 10
PROPERTIES(“replication_num” = “3”);
插入两条数据:
INSERT INTO gcy_db.doris_to_gaussdb_source_t (name, sex) VALUES (‘牛魔王’, ‘男’), (‘铁扇公主’, ‘女’);
在GaussDB建sink表:
CREATE TABLE doris_to_gaussdb_sink_t (
name VARCHAR(1024) NOT NULL,
sex VARCHAR(1024) NOT NULL
);
插入两条数据:
INSERT INTO doris_to_gaussdb_sink_t (name, sex) VALUES
(‘张三’, ‘男’),
(‘翠花’, ‘女’);
打包代码提交Flink任务:
从Flink UI界面可以看到Doris的数据已经读取到:
观察GaussDB目标表doris_to_gaussdb_sink_t,结果也已经成功写入:
3.3.2 验证GaussDB to Doris
在GaussDB中建source表:
CREATE TABLE gaussdb_to_doris_source_t (
name VARCHAR(1024) NOT NULL,
sex VARCHAR(1024) NOT NULL
);
插入两条数据:
INSERT INTO gaussdb_to_doris_source_t (name, sex) VALUES
(‘张三’, ‘男’),
(‘翠花’, ‘女’);
在Doris中建sink表:
CREATE TABLE IF NOT EXISTS gcy_db.gaussdb_to_doris_sink_t
(
name
VARCHAR(1024) NOT NULL COMMENT “姓名”,
sex
VARCHAR(1024) NOT NULL COMMENT “性别”
)
DUPLICATE KEY(name
, sex
)
DISTRIBUTED BY HASH(name
) BUCKETS 10
PROPERTIES(“replication_num” = “3”);
插入两条数据:
INSERT INTO gcy_db.gaussdb_to_doris_sink_t (name, sex) VALUES (‘牛魔王’, ‘男’), (‘铁扇公主’, ‘女’);
打包代码提交Flink任务:
在Flink UI上可以看到数据已经读取成功:
观察目标表gaussdb_to_doris_sink_t,数据已经成功写入:
- 点赞
- 收藏
- 关注作者
评论(0)