当前位置: 首页 > news >正文

Flink-DataWorks第四部分:数据同步(第60天)

系列文章目录

2.4.2 DataStudio侧实时同步
2.4.3 数据集成侧同步任务

文章目录

  • 系列文章目录
  • 前言
      • 2.4.2 DataStudio侧实时同步
      • 2.4.3 数据集成侧同步任务


前言

本文主要详解了DataWorks的数据同步,为第四部分:
由于篇幅过长,分章节进行发布。
后续:
 数据开发

2.4.2 DataStudio侧实时同步

DataWorks为用户提供的实时数据同步功能,方便用户使用单表或整库同步方式,将源端数据库中部分或全部表的数据变化实时同步至目标数据库中,实现目标库实时保持和源库的数据对应。
使用限制:
 实时同步不支持在数据开发界面运行任务,用户需要保存、提交实时同步节点后,在生产环境运维中心运行该节点。
 实时同步仅支持运行在独享数据集成资源组上。
 实时同步任务不支持同步视图。
 目前支持的同步方式有:
在这里插入图片描述

步骤一:创建实时同步节点
(1)创建实时同步节点
可以通过以下两种方式创建实时同步节点。
 方式一:展开业务流程,右键单击数据集成 > 新建节点 > 实时同步。
 方式二:双击业务流程名称,将数据集成目录下的实时同步节点直接拖拽至右侧业务流程编辑面板。
(2)在新建节点对话框中,配置各项参数
同步方式设置为数据库变更数据同步到MaxCompute
路径设置为业务流程/test/数据集成
名称设置为stream_data_integration
步骤二:配置实时同步任务
(1)设置同步来源和规则
设置类型为MySQL,数据源设置为rdsmysql
选择同步的源表,这里勾选student_list表,然后添加到右侧
在这里插入图片描述

设置表(库名映射规则):设置表(表(库)名映射规则支持正则表达式转换,比如需要将名称为 “table_01”,“table_02”,“table_03” 同步到一张叫 “my_table” 的表,可以配置正则表名转换规则:源:table.* > 目标 my_table)名映射规则
因为这里是单表采集,所以无需设置
点击下一步
(2)设置目标表
目标MaxCompute数据源设置为odps_first
写入模式为实时直接写增量表
时间自动分区设置:分区表
在这里插入图片描述

点击编辑,修改分区间隔为天
刷新源表和MaxCompute表映射
然后点击下一步
(3)因为是新表,所以需要自动建表,点击开始建表
在这里插入图片描述

(4)设置表粒度同步规则
点击配置DML,可以设置插入、更新、删除的策略,是选择还是正常处理
在这里插入图片描述

一般选择正常处理即可,点击下一步
(5)DDL消息处理规则
对于关系型数据的实时同步,其原始实时信息会包含DDL操作,此处可以设置针对于这些DDL消息同步到目标表时的操作。
【注意】此处策略仅仅是本任务初次启动时的规则,此后用户可以在对应的实时任务运维页面中,通过停止任务,修改DDL规则,再启动的方式,应用新的DDL策略。
在这里插入图片描述

各个处理策略的含义:
“正常处理”,此DDL消息将会继续下发给目标数据源,由目标数据源来处理,不同目标数据源处理策略可能会不同。
“忽略”:丢弃掉此DDL消息,不再向目标数据源发送此消息。
“出错”:直接让实时同步任务以出错状态终止运行。
保持默认即可。
(6)运行资源设置
资源组选择hmcx
Tunnel资源组选择公共传输资源
点击完成配置。
步骤三:提交并发布实时同步任务
(1)单击工具栏中的保存图标,保存节点。
(2)单击工具栏中的提交图标,提交节点任务。
在提交新版本对话框中,输入变更描述。
单击确定。
(3)任务提交成功后,需要将任务发布至生产环境进行发布。单击顶部菜单栏右侧的任务发布。
在这里插入图片描述

选择任务节点,进行发布。
(4)点击运维中心,在实时任务运维的实时同步任务中可以看到提交上来的任务
点击启动,可以启动同步任务
在这里插入图片描述

(5)启动成功后,稍等片刻
在MySQL中输入
insert into test.student_list values (‘09’, ‘李博’, ‘1995-05-24’, ‘男’);
然后在dataworks
set odps.sql.allow.fullscan=true;

select * from dwhmcx.rdsmysql_test_student_list;
可以看到同步的消息。
在这里插入图片描述

2.4.3 数据集成侧同步任务

数据集成基于源端数据库与目标端数据库类型为用户提供丰富的数据同步任务,同步类型包括:整库离线同步(一次性全量同步、周期性全量同步、离线全增量同步、一次性增量同步、周期性增量同步)、一键实时同步(一次性全量同步,实时增量同步)。不同源端与目标端数据库支持的同步方案不同,具体支持的方案详情请参考产品界面。

步骤一:创建同步任务
打开数据集成,然后在同步任务中,创建同步任务,填写来源和去向。
这里来源选择MySQL,去向选择MaxCompute,然后点击开始创建。
在这里插入图片描述

步骤二:选择同步方案
填写新任务名称,full_increment_integration
选择同步类型,目前支持的类型有以下几种。这里选择整库全增量(准实时)
在这里插入图片描述

责任人选择xxx111
步骤三:网络与资源配置
按照下图进行配置,测试连通性没有问题后点击下一步
在这里插入图片描述

步骤四:设置同步来源和规则
基本配置和数据来源不用修改
选择同步的源表中,选择test库,然后添加到右侧
在这里插入图片描述

设置表(库)名映射规则
点击添加目标表名规则,设置目标表名规则为:full_increment_${db_table_name_src_transed}
在这里插入图片描述

可以使用的内置变量有:
${db_table_name_src_transed}:“源表名和目标表名转换规则”中的转换完成之后的表名。
${db_name_src_transed}:“和转换规则”中的转换完成之后的。
${ds_name_src}:源数据源名。
步骤五:设置目标表
设置“时间自动分区设置”为非分区表

在这里插入图片描述

然后刷新源表和MaxCompute表映射
然后点击下一步
步骤六:设置表粒度同步规则
Base表Merge设置:
每张表的实时同步数据会在其全量离线任务完成后,实时的写入MaxCompute(Log表),然后会经过拆分(Split)变为Delta表,最后再与Base表进行合并(Merge),最终结果会写入Base表中。默认情况下会根据用户在上一步中指定的MaxCompute(ODPS)时间分区来做Merge,例如用户指定的分区是“天”,则会每天进行一次merge,也就意味着Base表的数据更新需要等到第二天。但是由于每个表的大小不一样,所以全量离线同步任务完成的时间有先后,如果用户想指定某些表在完成全量离线同步之后提早进行merge动作,以便及时获得最新的Base表数据,那么用户可以在本页中进行设置。

全量任务离线任务已经完成后,将最新实时同步的结果Merge进入Base表中
按小时独立:每一小时进行一次merge动作。
按天独立:每一天进行一次merge动作。
按分区周期:按照maxcompute表的分区间隔进行merge动作,前提是上一个周期的merge已经完成。

这里修改为按天独立,点击下一步
在这里插入图片描述

步骤七:设置表粒度同步规则
对于关系型数据的实时同步,其原始实时信息会包含DDL操作,此处可以设置针对于这些DDL消息同步到目标表时的操作。
【注意】此处策略仅仅是本任务初次启动时的规则,此后用户可以在对应的实时任务运维页面中,通过停止任务,修改DDL规则,再启动的方式,应用新的DDL策略。
保持默认即可,点击下一步
在这里插入图片描述

步骤八:运行资源设置
这里可以修改资源组
连通性测试没有问题后,勾选立即执行,完成配置

此时会生成两个任务,一个离线,一个实时。离线用来同步全量任务,而实时用来同步增量任务。

任务列表中也可以查到刚刚创建的任务

在ODPS中即可查看结果:
select * from dwhmcx.full_increment_student_list;

如果任务需要停止,则需要到运维中心的实时同步任务中进行停止。
在这里插入图片描述

相关文章:

Flink-DataWorks第四部分:数据同步(第60天)

系列文章目录 2.4.2 DataStudio侧实时同步 2.4.3 数据集成侧同步任务 文章目录 系列文章目录前言2.4.2 DataStudio侧实时同步2.4.3 数据集成侧同步任务 前言 本文主要详解了DataWorks的数据同步,为第四部分: 由于篇幅过长,分章节进行发布。…...

go post请求,参数是raw json格式,response是固定结构。

在Go语言中,使用net/http包可以很方便地发送HTTP请求,包括POST请求。当需要发送raw JSON格式的参数时,通常会使用encoding/json包来将Go的结构体序列化为JSON字符串,然后使用http.NewRequest函数创建请求,并通过http.C…...

国产开源大模型都有哪些?

随着ChatGPT引领的大模型热潮,国内的公司开始相继投入研发自己的人工智能大模型,截止到2023年10月,国产公司的大模型有近百个,包括一些通用大模型,比如百度的文心一言,也有特定领域的专用大模型&#xff0c…...

基于Hadoop的超市进货推荐系统设计与实现【springboot案例项目】

文章目录 有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主项目介绍系统分析系统设计数据表设计表4-1:关于我们表4-2:用户表4-3:管理员表表4-4:token表表4-5:系统简介表4-6:收藏…...

ChatGPT能从这几个方面提升学术论文质量

学境思源,一键生成论文初稿: AcademicIdeas - 学境思源AI论文写作 写作和编辑高质量的学术论文是一项具有挑战性的任务。随着人工智能技术的进步,ChatGPT作为一种强大的语言生成工具,正逐渐成为提升论文质量的得力助手。从头脑风…...

Python3的安装及基础指令

Day 20 基础语法 1、环境:python2内置,安装并使用python3,最新版3.12版可以使用源码安装 # 查看python版本号 [rootpython ~]#yum list installed|grep python [rootpython ~]#yum list installed|grep epel [rootpython ~]# yum -y …...

使用Spring与JDK动态代理实现事务管理

使用Spring与JDK动态代理实现事务管理 在现代企业级应用开发中,事务管理是一项关键的技术,它可以保证一系列操作要么全部成功,要么全部失败,从而确保数据的一致性和完整性。Spring框架提供了强大的事务管理能力,但有时…...

服务器硬件及RAID配置

服务器及 RAID 磁盘阵列介绍 RAID0 俗称 “ 条带 ” ,它将两个或多个硬盘组成一个逻辑硬盘,容量是所有硬盘之和,因 为是多个硬盘组合成一个,故可并行写操作,写入速度提高,但此方式硬盘数据没有冗余&#…...

【经验总结】ShardingSphere5.2.1 + Springboot 快速开始

Sharding Sphere 官方文档地址: https://shardingsphere.apache.org/document/current/cn/overview/maven仓库:https://mvnrepository.com/artifact/org.apache.shardingsphere/shardingsphere-jdbc 官方的文档写的很详尽到位,这里会截取部分…...

基于Golang实现Kubernetes边车模式

本文介绍了如何基于 Go 语言实现 Kubernetes Sidecar 模式,并通过实际示例演示创建 Golang 实现的微服务服务、Docker 容器化以及在 Kubernetes 上的部署和管理。原文: Sidecar Pattern with Kubernetes and Go[1] 在这篇文章中,我们会介绍 Sidecar 模式…...

TCP 通信全流程分析:从连接建立到数据传输的深度探索

目录 一、TCP报头 二、三次握手 三、数据传输 四、四次挥手 本文通过一次TCP通信过程的分析来学习TCP协议 一、TCP报头 如图是一份TCP报文的报头,标准报头是20个字节,还可带有选项报头,也就是TCP报头的最小长度是20字节。以下是对报头的各…...

4、提取H264码流中nalu

H264的NALU提取 1、nalu单元 定义nalu的存储单元&#xff0c;ebsp用来存储原始的包含起始码&#xff08;annexb格式&#xff09;的原始码流&#xff0c;sodb存储去除防竞争字节后的码流&#xff0c;prefix是3或4字节 nalu_def.h // nalu_def.h #pragma once#include <cs…...

哈佛大学单细胞课程|笔记汇总 (二)

哈佛大学单细胞课程|笔记汇总 &#xff08;一&#xff09; &#xff08;二&#xff09;Single-cell RNA-seq data - raw data to count matrix 根据所用文库制备方法的不同&#xff0c;RNA序列&#xff08;也被称为reads或tag&#xff09;将从转录本&#xff08;(10X Genomic…...

java中抽象类和接口的区别

文章目录 接口和抽象类的区别一、定义的区别1、抽象类2、接口 二、使用场景的区别1、抽象类2、接口 三、使用案例1、抽象类2、接口 接口和抽象类的区别 一、定义的区别 1、抽象类 关键字&#xff1a; abstract 是模棱两可的&#xff0c;似是而非的&#xff0c;无法给出具体明…...

Spring Boot - 在Spring Boot中实现灵活的API版本控制(下)_ 封装场景启动器Starter

文章目录 Pre设计思路ApiVersion 功能特性使用示例配置示例 ProjectStarter Code自定义注解 ApiVersion配置属性类用于管理API版本自动配置基于Spring MVC的API版本控制实现WebMvcRegistrations接口&#xff0c;用于自定义WebMvc的注册逻辑扩展RequestMappingHandlerMapping的类…...

EasyCVR视频转码:T3视频平台不支持GB28181协议,应该如何实现与视频联网平台的对接与视频共享呢?

EasyCVR视频管理系统以其强大的拓展性、灵活的部署方式、高性能的视频能力和智能化的分析能力&#xff0c;为各行各业的视频监控需求提供了优秀的解决方案。 T3视频为公网HTTP-FLV或HLS格式的视频流&#xff0c;目前T3平台暂不支持国标GB28181协议&#xff0c;因此也无法直接接…...

Spring统一处理请求响应与异常

在web开发中&#xff0c;规范所有请求响应类型&#xff0c;不管是对前端数据处理&#xff0c;还是后端统一数据解析都是非常重要的。今天我们简单的方式实现如何实现这一效果 实现方式 定义响应类型 public class ResponseResult<T> {private static final String SUC…...

SqlServer公用表表达式 (CTE) WITH common_table_expression

SQL Server 中的公用表表达式&#xff08;Common Table Expressions&#xff0c;简称 CTE&#xff09;是一种临时命名的结果集&#xff0c;它在执行查询时存在&#xff0c;并且只在该查询执行期间有效。CTE 类似于一个临时的视图或者一个内嵌的查询&#xff0c;但它提供了更好的…...

常见中间件漏洞

Tomcat CVE-2017-12615 1.打开环境&#xff0c;抓包 2.切换请求头为 PUT&#xff0c;请求体添加木马&#xff0c;并在请求头添加木马文件名 1.jsp&#xff0c;后方需要以 / 分隔 3.连接 后台弱口令部署war包 1.打开环境,进入指点位置,账户密码均为 tomcat 2.在此处上传一句话…...

elasticsearch的学习(二):Java api操作elasticsearch

简介 使用Java api操作elasticsearch 创建maven项目 pom.xml文件 <?xml version"1.0" encoding"UTF-8"?><project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi…...

conda相比python好处

Conda 作为 Python 的环境和包管理工具&#xff0c;相比原生 Python 生态&#xff08;如 pip 虚拟环境&#xff09;有许多独特优势&#xff0c;尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处&#xff1a; 一、一站式环境管理&#xff1a…...

【杂谈】-递归进化:人工智能的自我改进与监管挑战

递归进化&#xff1a;人工智能的自我改进与监管挑战 文章目录 递归进化&#xff1a;人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管&#xff1f;3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

黑马Mybatis

Mybatis 表现层&#xff1a;页面展示 业务层&#xff1a;逻辑处理 持久层&#xff1a;持久数据化保存 在这里插入图片描述 Mybatis快速入门 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6501c2109c4442118ceb6014725e48e4.png //logback.xml <?xml ver…...

SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)

上一章用到了V2 的概念&#xff0c;其实 Fiori当中还有 V4&#xff0c;咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务)&#xff0c;代理中间件&#xff08;ui5-middleware-simpleproxy&#xff09;-CSDN博客…...

推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)

推荐 github 项目:GeminiImageApp(图片生成方向&#xff0c;可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...

腾讯云V3签名

想要接入腾讯云的Api&#xff0c;必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口&#xff0c;但总是卡在签名这一步&#xff0c;最后放弃选择SDK&#xff0c;这次终于自己代码实现。 可能腾讯云翻新了接口文档&#xff0c;现在阅读起来&#xff0c;清晰了很多&…...

免费数学几何作图web平台

光锐软件免费数学工具&#xff0c;maths,数学制图&#xff0c;数学作图&#xff0c;几何作图&#xff0c;几何&#xff0c;AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...

android RelativeLayout布局

<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...

xmind转换为markdown

文章目录 解锁思维导图新姿势&#xff1a;将XMind转为结构化Markdown 一、认识Xmind结构二、核心转换流程详解1.解压XMind文件&#xff08;ZIP处理&#xff09;2.解析JSON数据结构3&#xff1a;递归转换树形结构4&#xff1a;Markdown层级生成逻辑 三、完整代码 解锁思维导图新…...

解析两阶段提交与三阶段提交的核心差异及MySQL实现方案

引言 在分布式系统的事务处理中&#xff0c;如何保障跨节点数据操作的一致性始终是核心挑战。经典的两阶段提交协议&#xff08;2PC&#xff09;通过准备阶段与提交阶段的协调机制&#xff0c;以同步决策模式确保事务原子性。其改进版本三阶段提交协议&#xff08;3PC&#xf…...