SeaTunnel 是一个分布式、高性能且易于扩展的数据集成平台,用于海量数据同步和转换。 可实现MySQL、Oracle、SqlServer、PostgreSQL、MongoDB2、Redis等各种异构数据源之间稳定高效的数据同步。 您只需配置作业信息即可同步数据。 提交作业后,源连接器负责并行读取数据,并将其发送到下游转换或直接发送到接收器,接收器将数据写入目标。
Seatunnle的特点:
丰富且可扩展的连接器:Seatunnle 提供了一个不依赖于特定执行引擎的连接器 API。 基于此 API 开发的连接器(source、transform、sink)可以运行在许多不同的引擎上,例如当前支持的 seatunnle 引擎、flink、spark。 连接器插件:插件设计允许用户轻松开发自己的连接器并将它们集成到 seatunnle 项目中。 目前,Seatunnle 已经支持 100 多个连接器,而且这个数字还在增长。 批量流式处理集成:基于Seatunnle连接器API开发的连接器,完美兼容离线同步、实时同步、全量同步、增量同步等场景。 大幅降低数据集成任务的管理难度。 多引擎支持:默认情况下,seatunnle 使用 seatunnle 引擎进行数据同步。 同时,Seatunnle 还支持使用 Flink 或 Spark 作为连接器的执行引擎,以适应企业现有的技术组件。 Seatunnle 支持多个版本的 Spark 和 Flink。 JDBC多路复用,数据库日志多表解析:Seatunnle 支持多表或全库同步,解决了 JDBC 连接过多的问题支持多表或全库日志读写解析,解决了CDC多表同步场景下日志重复读解析的问题。 高吞吐量和低延迟Seatunnle支持并行读写,提供稳定可靠的数据同步,高吞吐量和低延迟。 完善的实时监控:Seatunnle支持数据同步过程中每个步骤的详细监控信息,方便用户了解同步任务的读写数据量、数据大小、QPS等信息。 ClickHouse是ORAP**分析领域的一颗冉冉升起的新星,拥有出色的查询性能和丰富的分析功能,可以帮助分析师灵活、快速地提取海量数据的价值。
将Oracle数据同步到ClickHouse,有助于提高数据处理速度和查询性能,提供更好的数据管理和分析能力,降低成本,提高经济效益。
本文介绍如何使用Seatunnle将Oracle数据同步到ClickHouse数据仓库。
Seatunnel 任务配置和启动
在此示例中,Oracle 测试表中的 9,999 个数据条目将同步到默认值test0 中。
Oracle 表创建语句,如下所示:
create table test (id int,name varchar(40),quantity int,primary key (id) )
按以下格式将数据插入 Oracle:
insert into test (id,name,quantity) values(1,'banana',1);
ClickHouse的表创建如下:
create table default.test0
id` int32,`name` string,`quantity` int32
engine = mergetree
primary key id
order by id
1、**jdbc
*Oracle JDBC 并将其放入'$seatnunnel_home/plugins/jdbc/'目录。
2. 编写配置文件
在'$seatnunnel_home/config'目录中,创建配置文件。
配置文件内容示例如下:
env sink
3. 启动任务
在'$seatnunnel_home'目录中,请使用启动命令:
bin/seatunnel.sh --config ./config/oracletock.template -e local
此命令将在本地模式下运行您的 seatunnel 作业。
任务完成后,将显示任务的摘要信息
进入 ClickHouse,从 test0 中选择 count(),查看写入状态,看到 9,999 条测试数据已经写入 ClickHouse。
接下来,我们将详细介绍从数据库到clickhouse的数据同步过程。