首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何使用 Doris 分析 Mysql 数据库数据?

如何使用 Doris 分析 Mysql 数据库数据?

原创
作者头像
TCS-F
修改2023-06-13 22:20:41
5.6K0
修改2023-06-13 22:20:41
举报

近期很多用户采用了离线大数据解决方案产品,这里为大家推荐Doris数据仓托管解决方案;

由于 Doris 高度兼容 Mysql 协议,两者在 SQL 语法方面有着比较强的一致性,另外 Mysql 客户端也是 Doris 官方选择的客户端。因此,如需对 Mysql 进行数据分析,使用 Doris 的迁移成本较低。另外加上 Doris 各种优秀的计算能力,对原 Mysql 开发人员来说,基于 Doris 进行 Mysql 数据分析是一个良好的选择。

1.数据同步

Doris Mysql 外表

可以基于 Doris ODBC 外表的机制建立 Mysql 外表。语法如下:

CREATE EXTERNAL TABLE `doris_mysql_external_tbl1` (
  `aaaa` int(11) NULL COMMENT "",
  `bbbb` varchar(256) NULL COMMENT ""
) ENGINE=ODBC
COMMENT "ODBC"
PROPERTIES (
"host" = "xxxxx",
"port" = "3306",
"user" = "root",
"password" = "xxxxx",
"driver" = "MySQL ODBC 8.0 Driver",
"odbc_type" = "mysql",
"charest" = "utf8",
"database" = "abc",
"table" = "abc_utf8"
)

2.实时导入 Mysql 数据

有多种生态组件可以方便实现实时导入 Mysql 数据到 Doris。第一种是基于 Mysql binlog + Canal 的方案,第二种是 Mysql binlog + Flink CDC。

基于 Mysql binlog + Canal 实现实时同步

4基于 Mysql binlog + Flink CDC 实现实时同步

Flink CDC 基于数据库日志的 Change Data Capture 技术,实现了全量和增量的一体化读取能力,并借助 Flink 优秀的管道能力和丰富的上下游生态,支持捕获多种数据库的变更,并将这些变更实时同步到下游存储。Flink SQL 原生支持的 Changelog 机制,可以让 CDC 数据的加工变得非常简单。用户通过 SQL 便能实现数据库全量和增量数据的清洗、打宽、聚合等操作,极大地降低了用户门槛。此外, Flink DataStream API 支持用户编写代码实现自定义逻辑,给用户提供了深度定制业务的自由度。

适用场景

  • 大量库表或整库导入
  • 分库分表数据导入
  • 需要额外ETL处理
  • 希望导入存量数量

5.配置目标表属性

用户需要先在 Doris 端创建好与 Mysql 端对应的目标表。 Binlog Load 只能支持 Unique 类型的目标表,且必须激活目标表的 Batch Delete 功能。 开启 Batch Delete 的方法可以参考ALTER TABLE PROPERTY 中的批量删除功能。 示例:

--create Mysql table
CREATE TABLE `source_test` (
  `id` int(11) NOT NULL COMMENT "",
  `name` int(11) NOT NULL COMMENT ""
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;


-- create Doris table
CREATE TABLE `target_test` (
  `id` int(11) NOT NULL COMMENT "",
  `name` int(11) NOT NULL COMMENT ""
) ENGINE=OLAP
UNIQUE KEY(`id`)
COMMENT "OLAP"
DISTRIBUTED BY HASH(`id`) BUCKETS 8;

-- enable batch delete
ALTER TABLE target_test ENABLE FEATURE "BATCH_DELETE";

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.数据同步
    • Doris Mysql 外表
      • 基于 Mysql binlog + Canal 实现实时同步
  • 2.实时导入 Mysql 数据
  • 4基于 Mysql binlog + Flink CDC 实现实时同步
  • 5.配置目标表属性
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档