Flink-DataWorks第二部分:数据集成(第58天)

news/2024/11/15 0:45:21/

系列文章目录

  1. 数据集成
    2.1 概述
    2.1.1 离线(批量)同步简介
    2.1.2 实时同步简介
    2.1.3 全增量同步任务简介
    2.2 支持的数据源及同步方案
    2.3 创建和管理数据源

文章目录

  • 系列文章目录
  • 前言
  • 2. 数据集成
    • 2.1 概述
      • 2.1.1 离线(批量)同步简介
      • 2.1.2 实时同步简介
      • 2.1.3 全增量同步任务简介
    • 2.2 支持的数据源及同步方案
    • 2.3 创建和管理数据源


前言

本文主要详解了DataWorks的数据集成,为第二部分:
由于篇幅过长,分章节进行发布。
后续:
 数据集成的使用
 数据开发流程及操作
 运维中心的使用

2. 数据集成

2.1 概述

2.1.1 离线(批量)同步简介

数据集成主要用于离线(批量)数据同步。离线(批量)的数据通道通过定义数据来源和去向的数据源和数据集,提供一套抽象化的数据抽取插件(Reader)、数据写入插件(Writer),并基于此框架设计一套简化版的中间数据传输格式,从而实现任意结构化、半结构化数据源之间数据传输。
在这里插入图片描述

2.1.2 实时同步简介

数据集成的实时同步包括实时读取、转换和写入三种基础插件,各插件之间通过内部定义的中间数据格式进行交互。
一个实时同步任务支持多个转换插件进行数据清洗,并支持多个写入插件实现多路输出功能。同时针对某些场景,支持整库实时同步全增量同步任务,用户可以一次性实时同步多个表。

2.1.3 全增量同步任务简介

实际业务场景下,数据同步通常不能通过一个或多个简单离线同步或者实时同步任务完成,而是由多个离线同步、实时同步和数据处理等任务组合完成,这就会导致数据同步场景下的配置复杂度非常高。
为了解决上述问题,DataWorks提出了面向业务场景的同步任务配置化方案,支持不同数据源的一键同步功能,例如,“一键实时同步至Elasticsearch”、“一键实时同步至Hologres”和“一键实时同步至MaxCompute”功能等,通过此类功能,用户只需要进行简单的配置,就可以完成一个复杂业务场景。
全增量同步任务具有如下优势:
 全量数据初始化。
 增量数据实时写入。
 增量数据和全量数据定时自动合并写入新的全量表分区。

2.2 支持的数据源及同步方案

数据集成包括离线同步、实时同步和全增量同步任务三个功能模块,可以根据各模块对数据源的支持情况,选择对应的功能模块进行同步任务的配置。
支持的数据源及同步方案详见下表:

https://help.aliyun.com/zh/dataworks/user-guide/supported-data-source-types-and-read-and-write-operations?spm=a2c4g.11186623.0.0.6d9e7bca0fYAUx

在这里插入图片描述

2.3 创建和管理数据源

按照配置文档进行配置即可。下面以MySQL为例进行学习。
(1)数据同步前准备:MySQL环境准备
1)确认MySQL版本
登录数据库管理系统https://dms.aliyun.com/,打开SQL Console,运行以下命令:

select version();

在这里插入图片描述

2)配置账号权限
建议提前规划并创建一个专用于DataWorks访问数据源的MySQL账号,操作如下。

CREATE USER 'dw'@'%' IDENTIFIED BY 'xxxxx666!';
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'dw'@'%';

3)(仅实时同步需要)开启MySQL Binlog
数据集成通过实时订阅MySQL Binlog实现增量数据实时同步,需要在DataWorks配置同步前,先开启MySQL Binlog服务。操作如下。
注意:
 如果Binlog在消费中,则无法被数据库删除。如果实时同步任务运行延迟将可能导致源端Binlog长时间被消费,请合理配置任务的延迟告警,并及时关注数据库的磁盘空间。
 Binlog至少保留72小时以上,避免任务失败后因Binlog已经消失,再启动无法重置位点到故障发生前而导致的数据丢失(此时只能使用全量离线同步来补齐数据)。
① 检查Binlog是否开启。
使用如下语句检查Binlog是否开启。

show variables like "log_bin";

返回结果为ON时,表明已开启Binlog。
如果返回的结果与上述结果不符:
o 开源MySQL请参考MySQL官方文档开启Binlog。
o 阿里云RDS MySQL请参考日志备份开启Binlog。
② 查询Binlog的使用格式。
使用如下语句查询Binlog的使用格式。

show variables like "binlog_format";

在这里插入图片描述

返回结果说明:
返回ROW,表明开启的Binlog格式为ROW。
返回STATEMENT,表明开启的Binlog格式为STATEMENT。
返回MIXED,表明开启的Binlog格式为MIXED。
注意:DataWorks实时同步仅支持同步MySQL服务器Binlog配置格式为ROW。如果返回非ROW请修改Binlog Format。
(2)新增数据源
1)打开DataWorks控制台,点击工作空间列表,打开dwhmcx,点击管理中心
在这里插入图片描述

2)点击数据源,点击新增数据源,选择MySQL
在这里插入图片描述

3)首次创建数据源源需要在对话框中点击前往RAM进行角色授权
在这里插入图片描述

点击同意授权。
4)填写配置信息
数据源名称:rdsmysql
适用环境:开发、生产
注意:在实际工作中开发和生产对应不同的数据库,一个是测试数据库一个是生产数据库。
地区:北京
实例所属账号:当前云账号
RDS实例ID: rm-cn-x0r3fp1lj000qa
注意:RDS实例ID需要打开RDS控制台,在实例列表中,复制实例ID
默认数据库名:test
用户名:dw
密码:xxxxx666!
点击测试连通性
点击完成
(3)管理数据源
可以在数据源管理页面,根据数据源类型、数据源名称等条件筛选需要查看的数据源。同时,支持用户对目标数据源进行编辑、删除、克隆、权限管理等操作。
在这里插入图片描述

编辑:可以单击编辑按钮,在弹出的数据源配置窗口,修改数据源的配置信息。
删除:
 删除开发环境和生产环境的数据源:需确认是否存在生产环境关联的同步任务,操作不可逆,删除后,在开发环境配置同步任务时此数据源不可见。
如果生产环境在使用此数据源配置的同步任务,删除后,生产环境任务不可正常运行。请删除同步任务后再删除此数据源。
 删除开发环境的数据源:需确认是否存在生产环境关联的同步任务,操作不可逆,删除后,在开发环境配置同步任务时此数据源不可见。
如果生产环境在使用此数据源配置的同步任务,删除后,任务编辑时将不能获取到元数据信息,但生产环境任务可以正常运行。
 删除生产环境的数据源:需确认是否存在生产环境关联的同步任务,删除后,在开发环境使用此数据源配置的同步任务将不能提交生产发布。
如果生产环境在使用此数据源配置的同步任务,删除后,生产环境任务不可正常运行。

克隆:可以单击克隆,在弹出的克隆数据源窗口,输入新数据源名称,单击克隆,即可生成一个相同数据源类型且连接信息相同的新数据源。
权限管理:可以分享数据源权限给相应的工作空间,并进入被分享的工作空间查看该数据源。详情请参见:管理数据源权限。
篇幅原因:后续会接着发


http://www.ppmy.cn/news/1505620.html

相关文章

C++详解->函数模板+类模版

文章目录 前言1、反泛型编程2、函数模板(1)、函数模板概念(2)、函数模板定义格式(3)、函数模板实例化(4)函数模板参数匹配原则 3、类模版(1)类模板实例化(2)类模板实现Stack(压/出栈函数) 前言 此篇主要描述函数模板的概念、格式以及实例化等&#xff1b…

PhPMyadmin漏洞复现

首先我们打开环境,这个环境需要在小皮面板里安装,然后php版本需要在5.5以上的版本才可以运行 然后打开sql面板,将面板中的语句执行 保证日志保存状态开启 修改日志的存放位置 将语句执行 然后在工具上进行连接测试 写入一个webshell 然后打开…

算法力扣刷题记录 六十七【40.组合总和II】

前言 回溯章节第五篇。 记录 六十七【40.组合总和II】。 一、题目阅读 给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用 一次 。 注意&#xff1…

获取后端返回的文件流 前端进行文件下载

获取后端返回的文件流 前端进行文件下载 1. 在 utils 文件夹下创建 downloadFile.ts import axios from "axios";interface Params {url: string;method: string;data: any; }export const downLoadFileBlob (params: Params) > {return axios({url: params.ur…

Django中事务的基本使用

1. Django事务处理 事务(Transaction): 是一种将多个数据库操作组合成一个单一工作单元的机制. 如果事务中的所有操作都成功完成, 则这些更改将永久保存到数据库中. 如果事务中的某个操作失败, 则整个事务将回滚到事务开始前的状态, 所有的更改都不会被保存到数据库中. 这对于…

【Material-UI】按钮组:按钮变体详解

文章目录 一、按钮变体概述1. 组件介绍2. 基本用法 二、按钮变体详细说明1. 轮廓按钮(Outlined)2. 文本按钮(Text)3. 填充按钮(Contained) 三、按钮变体的实际应用场景1. 界面设计2. 界面一致性3. 视觉层次…

5 倍网络性能提升!DigitalOcean上线全新高级内存优化型和高级存储优化型 Droplet 云主机

支持用户从想法到实现,再到业务不断发展过程中提供持续可靠的支持,这是 DigitalOcean 的核心使命。所以 DigitalOcean 也在不断推出更多专业的解决方案。 DigitalOcean Droplet 是基于虚拟化硬件上运行的虚拟机(VM)。用户创建的每…

WEB渗透Web突破篇-PHP文件包含下载读取

php任意文件读取/下载 readfile()、file_get_contents()、fopen()等读文件的函数不严谨,读取文件路径可控,输出内容。 下载配置文件 Redis、Weblogic、ftp、mysql、web配置文件、history文件、数据库配置文件 下载log文件 下载web文件 /1.php?f../../e…