网站首页 > 技术文章 正文
SeaTunnel是一个分布式、高性能、易扩展、用于海量数据同步和转化的数据集成平台。可以实现MySQL、Oracle、SQLServer、Postgresql、MongoDB、Db2、Redis等各种异构数据源之间稳定高效的数据同步功能。用户只需要配置作业信息,就能完成数据的同步。提交作业后,源连接器负责并行读取数据并将数据发送到下游转换或直接发送到接收器,接收器将数据写入目标。
SeaTunnle的特点:
- 丰富且可扩展的连接器:SeaTunnle提供了一个不依赖于特定执行引擎的连接器API。基于此API开发的连接器(源、转换、接收器)可以在许多不同的引擎上运行,例如当前支持的SeaTunnle引擎、Flink、Spark。
- 连接器插件:插件设计允许用户轻松开发自己的连接器并将其集成到SeaTunnle项目中。目前,SeaTunnle已经支持100多个连接器,而且数量还在激增。
- 批量流集成:基于SeaTunnle连接器API开发的连接器,完美兼容离线同步、实时同步、全同步、增量同步等场景。大大降低了管理数据集成任务的难度。
- 多引擎支持:SeaTunnle默认使用SeaTunnle引擎进行数据同步。同时,SeaTunnle还支持使用Flink或Spark作为连接器的执行引擎,以适应企业现有的技术组件。SeaTunnle支持多个版本的Spark和Flink。
- JDBC多路复用,数据库日志多表解析:SeaTunnle支持多表或全数据库同步,解决了JDBC连接过多的问题;支持多表或全库日志读写解析,解决了CDC多表同步场景重复读取解析日志的问题。
- 高吞吐、低时延:SeaTunnle支持并行读写,提供稳定可靠的数据同步能力,高吞吐、低时延。
- 完善的实时监控:SeaTunnle支持数据同步过程中每个步骤的详细监控信息,让用户轻松了解同步任务读写的数据量、数据大小、QPS等信息。
ClickHouse是OLAP 在线分析领域的一颗冉冉新星,它拥有极其出众的查询性能,以及丰富的分析函数,可以助力分析师灵活而迅速地挖掘海量数据的价值。
从Oracle同步数据到ClickHouse,是目前最常见到的数据同步场景,将数据从Oracle同步到ClickHouse可以帮助提升数据处理速度和查询性能,提供更好的数据管理和分析能力,以及降低成本和提高经济效益。
本文将介绍如何借助SeaTunnle实现Oracle数据同步到ClickHouse数仓。
SeaTunnel任务配置及启动
本示例将Oracle的test表中的9999条数据,同步到ClickHouse数据库下default.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 {
execution.parallelism = 1
job.mode = "BATCH"
}
source{
Jdbc {
url = "jdbc:oracle:thin:@localhost:1539/FREE"
driver = "oracle.jdbc.OracleDriver"
user = "system"
password = "123456"
query = "SELECT * FROM test"
}
}
sink {
Clickhouse {
host = "localhost:8123"
database = "default"
table = "test0"
username = "default"
password = "123456"
}
}
3、启动任务
在'$SEATNUNNEL_HOME'目录下,使用启动命令:
./bin/seatunnel.sh --config ./config/oracletock.template -e local
此命令将以 local (本地模式) 运行您的SeaTunnel作业。
当任务运行完毕,会出现本次任务的汇总信息:
进入ClickHouse,select count() from test0查看写入情况,可以看到9999条测试数据已经写入ClickHouse。
接下来我们将介绍更多数据库到ClickHouse的数据同步流程。
猜你喜欢
- 2024-10-22 一键实现 Oracle 数据整库同步至 Apache Doris
- 2024-10-22 Oracle OGG 单向DML同步 oracle的ogg同步
- 2024-10-22 Spring Boot整合DataX同步数据 springboot自动装配原理
- 2024-10-22 多源异构数据离线同步方案实战 多源异构数据整合处理
- 2024-10-22 常见数据同步工具之实时同步 数据同步工具有哪些
- 2024-10-22 MySQL超时参数以及相关DataX数据同步案例分享
- 2024-10-22 《github精选系列》——数据库同步中间件(DBSyncer)
- 2024-10-22 如何将Oracle的blob同步到MySQL oracle blob转字符串
- 2024-10-22 ETL数据集成丨实现SQLServer数据库的高效实时数据同步
- 2024-10-22 搭建私有化DataWorks平台 - Part 2 数据同步
你 发表评论:
欢迎- 500℃几个Oracle空值处理函数 oracle处理null值的函数
- 494℃Oracle分析函数之Lag和Lead()使用
- 493℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 481℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 473℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 468℃【数据统计分析】详解Oracle分组函数之CUBE
- 453℃Oracle有哪些常见的函数? oracle中常用的函数
- 448℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 最近发表
-
- Spring Boot跨域难题终结者:3种方案,从此告别CORS噩梦!
- 京东大佬问我,SpringBoot为什么会出现跨域问题?如何解决?
- 在 Spring Boot3 中轻松解决接口跨域访问问题
- 最常见五种跨域解决方案(常见跨域及其解决方案)
- Java Web开发中优雅应对跨域问题(java跨域问题解决办法)
- Spring Boot解决跨域最全指南:从入门到放弃?不,到根治!
- Spring Boot跨域问题终极解决方案:3种方案彻底告别CORS错误
- Spring Cloud 轻松解决跨域,别再乱用了
- Github 太狠了,居然把 "master" 干掉了
- IntelliJ IDEA 调试 Java 8,实在太香了
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端富文本编辑器 (47)
- 前端路由 (55)
- 前端数组 (65)
- 前端定时器 (47)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle链接 (47)
- oracle的函数 (57)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)