论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
数据库
›
Oracle
›
CloudCanal实战-五分钟搞定Oracle到StarRocks数据迁移与 ...
CloudCanal实战-五分钟搞定Oracle到StarRocks数据迁移与同步 ...
魏晓东
金牌会员
|
2022-12-23 11:16:42
|
显示全部楼层
|
阅读模式
楼主
主题
976
|
帖子
976
|
积分
2928
简述
CloudCanal当前最新版本已经支持源端Oracle、SqlServer等主流传统数据库作为源端迁移同步数据到StarRocks来构建实时数仓。本文简要介绍如何快速构建一条Oracle->StarRocks数据链路。
技术要点
基于StreamLoad的导入方式
CloudCanal 采用了 StreamLoad 的方式进行导入,源端的消息会转成字节流,最后会以批量发送的形式通过 HTTP 协议发往 StarRocks。
CloudCanal 默认采用 json 格式来进行StreamLoad导入,如果用户内容特殊字符较少,也可以开启 csv 格式导入,分隔符可以通过参数 columnSeparator 和 lineSeparator 设置。
基于 StreamLoad 的写入方式,实际写入对端的操作均为 INSERT,CloudCanal 同步时会自动将 UPDATE / DELETE 转成 INSERT 语句,并修改 __op 值,StarRocks会自动进行数据合并。
支持常用DDL实时同步
Oracle -> StarRocks 支持新增列、删除列DDL。DDL实时同步到对端时会自动转换成StarRocks兼容的语法,数据类型也会根据映射关系进行自动转换。
编辑订阅功能
CloudCanal 提供了便利的修改订阅能力。对于一个已经创建好的正在运行的增量同步任务,如果由于业务需求有新增表需要订阅,可以在原有任务的基础上新增需要订阅的表,生成子任务,自动完成全量、增量迁移同步,在完成后会子任务会自动与原有的任务合并。
数据类型映射
CloudCanal结构迁移和数据迁移同步时会自动进行数据类型映射。类型映射见下表:
Oracle类型StarRocks类型CHARVARCHARNCHARVARCHARVARCHAR2VARCHARNVARCHARVARCHARNVARCHAR2VARCHARLONGSTRINGNUMBER_BIGINTBIGINTNUMBER_DECIMALDECIMALFLOATFLOATBINARY_FLOATDECIMALBINARY_DOUBLEDECIMALCLOBSTRINGNCLOBSTRINGDATADATETIMETIMESTAMPDATETIMETIMESTAMP_WITH_TIME_ZONEDATETIMETIMESTAMP_WITH_LOCAL_TIME_ZONEDATETIMEINTERVAL_YEAR_TO_MONTHDATETIMEINTERVAL_DAY_TO_SECONDDATETIMEROWIDSTRINGPLSQL_BOOLEANBOOLEANXMLTYPESTRINGHTTPURITYPESTRING
操作示例
准备CloudCanal
安装好CloudCanal
准备好源端和目标端数据库及对应数据
Oracle源端前置准备
CloudCanal在做Oracle作为源端的数据迁移同步时,需要做一些前置准备。具体可以参考
ORACLE LogMiner同步准备
。
添加数据源
登录CloudCanal平台
数据源管理
->
添加数据源
创建源端数据源:选择
自建数据源
,选择Oracle,并填写相关数据库信息,点击
新增数据源
确定创建Oracle数据源。
logminerUser
:ORACLE源端增量任务使用redo解析(logminer)方式时使用的账号,需要CDB类型用户
logminerPasswd
:ORACLE源端增量任务使用redo解析(logminer)方式时使用的账号密码
logminerConnectType
:ORACLE源端增量任务使用redo解析(logminer)方式时使用的连接方式,目前支持ORACLE_SID或ORACLE_SERVICE模式
logminerSidOrService
:ORACLE源端增量任务使用redo解析(logminer)方式时使用的连接标识符,和logminerConnectType参数配合使用,ORACLE_SID连接方式,则填写sid,ORACLE_SERVICE连接方式,则填写service name
创建目的端数据源:选择
自建数据源
,选择StarRocks,并填写相关数据库信息,点击
新增数据源
确定创建StarRocks数据源
Client地址
:StarRocks提供的MySQLClient服务端口,CloudCanal主要用其查询库表的元数据信息,对应StarRocks的QueryPort,默认端口为9030
Http地址
:Http地址主要用于接收streamload的http请求。此处可以填写StarRocks BE节点的端口,默认为8030;如需负载均衡也支持直接填写FE的地址和端口,StarRocks的FE会自动处理stream load的http请求
查看数据源是否创建成功
任务创建
任务管理->创建任务
选择集群
源端选择刚添加的
Oracle
数据源,目标端选择
StarRocks
数据源,分别点击
测试连接
按钮以测试数据库连通性和获取schema级别元信息,显示连接成功后,设置数据库映射关系
StarRocks
的结构迁移支持用户自定义分桶数等自定义建表信息
点击下一步
选择
增量同步
,并且勾选
全量初始化
点击下一步
选择订阅的表
点击下一步
配置列映射
点击下一步
点击创建任务
任务创建成功并启动后,会自动执行结构迁移、全量迁移、增量同步
总结
本文简单介绍了如何使用CloudCanal进行Oracle->StarRocks 数据迁移同步。各位读者朋友,如果你觉得还不错,请点赞、评论加转发吧。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
魏晓东
金牌会员
这个人很懒什么都没写!
楼主热帖
基础常用dos命令
Vulnhub靶机-Al-Web-1
Unity技术手册 - Shader实现灵魂状态 ...
.NET主流的几款重量级 ORM框架 ...
云原生之旅 - 14)遵循 GitOps 实践的 ...
Java集合框架(三)-HashSet
vuluhub_jangow-01-1.0.1
Android studio连接MySQL并完成简单的 ...
gis pro中将shp文件转为/导入地理数据 ...
弱隔离级别 & 事务并发问题 ...
标签云
AI
运维
CIO
存储
服务器
浏览过的版块
SQL-Server
分布式数据库
云原生
Mysql
网络安全
Java
鸿蒙
DevOps与敏捷开发
.Net
快速回复
返回顶部
返回列表