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的数据同步流程......

相关推荐
码爸16 分钟前
flink 批量写clickhouse
java·clickhouse·flink
goTsHgo3 小时前
从底层原理上解释 clickhouse 保证完全的幂等性
数据库·clickhouse
小王是个弟弟1 天前
ClickHouse-Kafka Engine 正确的使用方式
clickhouse·kafka
武子康1 天前
大数据-134 - ClickHouse 集群三节点 安装配置启动
java·大数据·分布式·clickhouse·架构·flink
Hello.Reader2 天前
深入理解 ClickHouse 的性能调优与最佳实践
大数据·数据仓库·clickhouse·数据分析
尘世中迷途小码农3 天前
ClickHouse总结
clickhouse
goTsHgo3 天前
Clickhouse如何完全保证数据的去重
数据库·clickhouse
goTsHgo3 天前
从底层原理上理解ClickHouse 中的稀疏索引
数据库·clickhouse
goTsHgo5 天前
从底层原理上解释clickhouse查询为什么快
数据库·clickhouse
武子康5 天前
大数据-136 - ClickHouse 集群 表引擎详解1 - 日志、Log、Memory、Merge
java·大数据·clickhouse·flink·spark·scala