20260302143508

01 案例简介

基于Flink SQL实现Mysql到Doris的高效同步:打造轻量级数据湖解决方案。

案例目标: 手把手教你使用至轻云平台,通过Flink SQL作业,实现Mysql数据库到Doris数据仓库的增量/全量数据同步。演示版本:Doris版本2.x,Mysql版本8.x。

02 操作步骤

第一步:下载并上传作业所需依赖

登录 - 资源管理 - 资源中心 - 添加依赖

依赖是Flink作业运行的基础。先将与Mysql和Doris交互所需的Jar包上传到至轻云平台进行统一管理。
选择 依赖类型上传文件。

依赖名称 下载地址
flink-doris-connector-1.18-25.0.0.jar 点击下载

20260312201154

第二步:构建Flink SQL作业

登录 - 数据开发 - 点击作业流 - 添加作业

在作业流中创建 FlinkSql作业,整个过程无需任何Java/Scala代码。

脚本如下:

-- 源表:从MySQL数据库读取数据
-- 功能:定义MySQL数据源连接配置,用于读取原始数据
CREATE TABLE from_table(
    name string,  -- 用户名/名称字段
    id   int      -- ID主键字段
) WITH (
    'connector'='jdbc',              -- 使用JDBC连接器
    'url'='jdbc:mysql://127.0.0.1:3306/test',  -- MySQL数据库连接URL,数据库名为test
    'driver'='com.mysql.cj.jdbc.Driver',       -- MySQL JDBC驱动类名
    'table-name'='table_name',                  -- 要读取的MySQL表名
    'username'='root',                          -- 数据库用户名
    'password'='root123',                        -- 数据库密码
    'scan.fetch-size'= '1'                       -- 每次查询获取的记录数,设为1表示每次只读取1条数据(通常生产环境会设大一些)
);

-- 目标表:写入Doris数据库
-- 功能:定义Doris目标连接配置,用于写入处理后的数据
CREATE TABLE target_table
(
    name string,  -- 用户名/名称字段,与源表对应
    id   int      -- ID字段,与源表对应
) WITH (
    'connector' = 'doris',             -- 使用Doris连接器
    'fenodes' = '127.0.0.1:8030',       -- Doris FE节点地址和端口
    'table.identifier' = 'ispong_db.table_name',  -- 目标表标识:数据库名.表名
    'username' = 'root',                 -- Doris用户名
    'password' = ''                       -- Doris密码(空字符串表示无密码)
);

-- 数据插入操作:从MySQL源表读取数据并写入Doris目标表
-- 功能:执行ETL操作,将MySQL中的数据实时/批量同步到Doris
-- 注意:字段顺序可以调整,这里显式指定了(id, name)的写入顺序
INSERT INTO target_table (id, name) 
SELECT id, name     -- 从源表查询数据
FROM from_table;

20260312201019

第三步:配置作业的依赖

登录 - 数据开发 - 点击作业 - 点击配置

在作业的配置页面,选择我们第一步上传的依赖,平台会自动将所需Jar包加载到Flink作业的运行时环境中。

20260312201131

第四步:运行,验证同步结果

登录 - 数据开发 - 点击作业流 - 添加作业

作业运行成功后,创建 Jdbc查询作业,连接到Doris数据源,编写查询语句来验证。

脚本如下:

-- 查询Doris表中的数据,验证同步结果
SELECT * FROM table_name;

20260312201237

✅ 操作完成 🎉

至此,一个基于Flink SQL的Mysql到Doris数据同步作业就顺利完成了!整个流程无需编写复杂的代码,只需通过至轻云平台的可视化配置和简洁的SQL脚本,即可轻松构建企业级数据湖管道。

03 功能说明

强大的Flink SQL支持
  • 完全兼容Flink SQL语法:直接在平台上编写标准Flink SQL,无需学习新的方言。
  • 在线SQL编辑器:提供语法高亮、自动补全和错误提示,编写体验流畅。
  • 支持多版本Flink:可根据业务需求灵活选择Flink版本。
便捷的依赖管理
  • 集中式依赖库:所有Jar包统一上传管理,告别“缺包”、“版本冲突”的烦恼。
  • 开箱即用:平台预置了常用连接器,并可随时上传自定义连接器,满足各类数据源需求。

04 更多定制与扩展

至轻云平台不仅提供了上述开箱即用的Flink SQL开发能力,更有一系列强大的企业级功能,为你的数据平台保驾护航:

  • 可视化数据同步:提供拖拽式、配置化的数据同步功能,零代码实现Mysql到Doris、MySQL到Kafka等任意数据源之间的数据移动,降低使用门槛。
  • 全局变量管理:对铭文密码等敏感信息进行加密,在Flink SQL中安全引用,从源头保障数据安全。
  • 作业结果传递:实现作业间的上下文结果传递,轻松构建复杂的、有依赖关系的多作业工作流。
  • 高级配置:支持可视化配置Flink的flink-conf.yaml参数,满足深度调优需求,让作业性能更卓越。
  • 多环境支持:一套平台,统一管理开发、测试、生产环境,实现作业的全生命周期管理。

至轻云 - 轻量级智能化大数据中心,助你轻松释放数据价值!

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐