SeaTunnel批处理同步MySQL数据至ClickHouse

ClickHouse是一种OLAP类型的列式数据库管理系统,ClickHouse完美的实现了OLAP和列式数据库的优势,因此在大数据量的分析处理应用中ClickHouse表现很优秀。

SeaTunnel是一个分布式、高性能、易扩展、用于海量数据同步和转化的数据集成平台。用户只需要配置作业信息,就能完成数据的同步。提交作业后,源连接器负责并行读取数据并将数据发送到下游转换或直接发送到接收器,接收器将数据写入目标。

SeaTunnel任务配置及启动

本示例将MySQL的test数据库下bigtest表中的10000条数据,同步到ClickHouse数据库下default.jdbc中。

MySQL建表语句如下:

CREATE TABLE `bigtest` (

  `id` int(11) NOT NULL,

  `name` varchar(100) DEFAULT NULL,

  `quantity` int(11) DEFAULT NULL,

  PRIMARY KEY (`id`)

)

向MySQL中插入数据,格式如下:

insert into test.bigtest values(1,'banana',1);

ClickHouse建表语句如下:

CREATE TABLE default.jdbc

(

    `id` Int32,

    `name` String,

    `quantity` Int32

)

ENGINE = MergeTree

ORDER BY id

1、下载jdbc

下载MySQLjdbc并放至 '$SEATNUNNEL_HOME/plugins/jdbc/'目录下

2、编写配置文件

在'$SEATNUNNEL_HOME/config'目录下,新建配置文件mysqltock.template

配置文件内容示例如下:

env {

  execution.parallelism = 1

  job.mode = "BATCH"

}

source {

jdbc {

        url = "jdbc:mysql://localhost/test"

        driver = "com.mysql.jdbc.Driver"

        user = "root"

        password = "123456"

        query = "select * from bigtest"

    }

}

sink {

clickhouse {

    host = "localhost:8123"

    database = "default"

    table = "jdbc"

    username = "default"

    password = "123456"

  }

}

3、启动任务

在'$SEATNUNNEL_HOME'目录下,使用启动命令:

./bin/seatunnel.sh --config ./config/mysqltock.template -e local

此命令将以 local (本地模式) 运行您的SeaTunnel作业。

当任务运行完毕,会出现本次任务的汇总信息:

进入ClickHouse,select count() from jdbc查看写入情况,可以看到10000条测试数据已经写入ClickHouse。

总结

本章我们运用数据集成平台SeaTunnel实现了MySQL到ClickHouse的数据同步,使用SeaTunnel仅需要编写配置文件并下载对应的连接器即可。配置化、低代码、易维护是SeaTunnel最显著的特点。

接下来我们将介绍更多数据库到ClickHouse的数据同步流程......

相关推荐
xhtdj5 天前
智源大会圆桌大模型没有终局具身智能可能是中国的 AlphaGo 时刻
人工智能·clickhouse·安全·动态规划
xhtdj7 天前
技术采用曲线回望二十年
运维·数据库·人工智能·clickhouse·动态规划
Taerge01108 天前
Doris, StarRocks, ClickHouse, Hologres, ES 对比,选型建议
大数据·clickhouse·elasticsearch
海南java第二人10 天前
ClickHouse 表引擎完全指南:从 MergeTree 到集成引擎的选型实践
clickhouse
lhyzws11 天前
CENTOS上的网络安全工具(三十七)SPARK on CLICKHOUSE
clickhouse
海南java第二人11 天前
用户行为漏斗分析是什么?ClickHouse 如何轻松实现?
clickhouse
时空无限13 天前
clickhouse 数据损坏无法启动问题修复
clickhouse
阿演14 天前
我把这个桌面数据库工具又升级了一轮:现在支持 ClickHouse,还能可视化建表和改表了
数据库·clickhouse·ai编程·数据库连接工具
海南java第二人15 天前
ClickHouse 稀疏索引深度解析:为什么 OLAP 数据库不用 B-Tree?
数据库·clickhouse
海南java第二人15 天前
ClickHouse 主键索引详解:不是唯一标识,而是排序规则
clickhouse