`
大涛学长
  • 浏览: 105596 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

MySQL/RDS数据如何同步到MaxCompute之实践讲解

阅读更多
**实验方案概述** 
本实验是对RDS同步数据到MaxCompute的一个初步讲解。当企业需要利用MaxCompute进行数据开发时,如果数据不在MaxCompute而在RDS中,首先需要将RDS中的数据同步到MaxCompute。本实验将以RDS(MySQL)为例,具体讲解此过程的操作步骤以及一些容易遇到的问题,为企业的数据同步过程提供一些指导与帮助。

本次同步过程的方案分为以下两个链路:1)通过DataWorks中的数据集成功能进行同步;2)通过DTS(数据传输服务)进行同步。 
方案1需要在DataWorks中新建RDS和MaxCompute的数据源,利用抽象化的数据抽取插件(Reader),数据写入插件(Writer)进行数据传输,达到数据同步的目的; 
方案2利用DTS服务确定同步的数据来源及数据去向进行同步。

下图是同步的方案流程图,数据来源是RDS,包括两个数据同步链路,分别是DataWorks和DTS,数据最终要同步到MaxCompute中。 
![_5](https://yqfile.alicdn.com/a52269b176b0789f0f0f6d2a10e68574e233f98b.png)

下面分别介绍一下上图方案中涉及到的一系列功能或平台: 
**•RDS** 
RDS是阿里云关系型数据库,是一种稳定可靠、可弹性伸缩的在线数据库服务。它基于阿里云分布式文件系统和SSD盘高性能存储,同时支持多种数据库类型,如MySQL、SQL Server、PostgreSQL。 
![image](https://yqfile.alicdn.com/939d6ec1615e50a56161c88cba6c116594a3ef06.png)

**•数据集成** 
数据集成是DataWorks中的一个功能,是阿里集团对外提供的稳定高效,弹性伸缩的数据同步平台,致力于提供复杂网络环境下、丰富的异构数据源之间数据高速稳定的数据移动及同步能力。 
![image](https://yqfile.alicdn.com/316588c7d40c4df7de1519fac46d97a7dee14cff.png)

**•DTS** 
DTS是一种数据传输服务,其支持RDBMS、NoSQL、OLAP等数据源间的数据交互。DTS具备极高的链路稳定性和数据可靠性。数据传输支持同/异构数据源之间的数据交互,提供数据迁移/订阅/同步交互功能。 
![image](https://yqfile.alicdn.com/845ea877d9989fd82c668a0b6e9661989c9cf932.png)

进行实验之前需要进行操作环境的准备:如果使用DataWorks数据集成,需要确保MaxCompute服务已开通,DataWorks项目空间已开通;如果使用DTS,则需要购买DTS服务。

**同步操作步骤** 
下面介绍数据同步到MaxCompute具体的操作步骤: 
**•DataWorks数据集成** 
1.以项目管理员身份登陆DataWorks控制台,单击工作空间列表,找到对应的工作空间,单击进入数据集成选项。 
![image](https://yqfile.alicdn.com/133c8e1c21a900cbd6f6023cddbf7d1f3c61d631.png)

2.单击任务列表同步资源管理中的数据源选项,在右上方选择新增数据源。 
![image](https://yqfile.alicdn.com/af77b05d2b191d6b0fd8e3c8521591c01527c622.png)

3.因为做的是RDS同步到MaxCompute,因此需要分别添加两种类型的数据源,首先添加数据来源,选择新增数据库类型为MySQL关系型数据库。 
![image](https://yqfile.alicdn.com/b4c86af4304afbc1a6c0ea752f760ce09702dc6c.png)

4.数据源选择完成后需要填写数据源的配置项。数据源类型选择阿里云数据库(RDS),填写对应RDS实例ID,RDS实例主账号ID。填写RDS中对应的MySQL数据库名称及密码。最后测试连通性,显示测试连通性成功证明配置成功。需要注意的一点是,在连接之前还需配置RDS的白名单,确保RDS可以被其他设备访问,后面会详细介绍。 
![image](https://yqfile.alicdn.com/6724479e603bfa9cf0bdd0d5acddf252f94b7811.png)

5.新增MaxCompute类型的数据源。 
![image](https://yqfile.alicdn.com/be9a01d6a43e3e7bf973aa651176c0258d847903.png)

6.配置MaxCompute类型数据源,填写数据源名称和适用环境(开发和生产),类型Endpoint,对应MaxCompute项目名称,AccessKey ID以及AccessKey Secret。至此,创建数据源已经完成。 
![image](https://yqfile.alicdn.com/e3ab1f6200d7ba32e66fc2cd40eeb4a1044ae60a.png)

7.以开发者身份进入DataWorks管理控制台,找到对应项目后点击进入数据开发选项。 
![image](https://yqfile.alicdn.com/9b75bc0f8750ffc2e2cb444f4ea795b491a9755c.png)

8.进入DataStudio(数据开发)页面,新建业务流程(下图红色框),填写业务流程名称及描述。 
![image](https://yqfile.alicdn.com/adf37905f93d19746340f2022f5c09a3c7f7f1b2.png)

9.在DataWorks中建立对应RDS中的表,并在业务流程下的数据集成选项中新建数据同步节点并提交。 
![image](https://yqfile.alicdn.com/d28b44fadeafe0b20f74dceab1de2275d68016ff.png)

10.配置数据来源与数据去向,需要配置的数据源是刚才添加的数据源,数据来源是MySQL,它的表是RDS中对应的表,目标数据源是MaxCompute,其他的如清理规则、空字符串是否为null的配置选项,默认选择即可。 
![image](https://yqfile.alicdn.com/23ea0d0998afc1f2a0bce70b5a157b571983a085.png)

11.配置完成后可以保存并运行同步数据节点,查询MaxCompute的同步表中是否存在数据,且与RDS的数据一致,判断同步是否成功。 
![image](https://yqfile.alicdn.com/1b375ddd2d39b1d14ff8b264c1ca7b93764917e0.png)

下面介绍如何利用DTS进行数据同步。 
**•DTS数据同步** 
1.首先需要登陆数据传输控制台,在左侧导航栏中点击数据同步选项。 
![image](https://yqfile.alicdn.com/5c03e5af86495cb0226bb83d3c569ddc8ea7a61a.png)

2.单击完成后在控制台的右上方点击创建同步作业选项,购买DTS服务,前面提到使用DTS需要提前购买服务,指的便是这步操作。需要注意的一点是,所购买的DTS所属的Region尽量要和RDS以及MaxCompute的Region一致,为了避免后续操作中不必要的麻烦。 
![image](https://yqfile.alicdn.com/de58cf8bd1a3939a8f059cd0d31c310e18b631df.png) 
![image](https://yqfile.alicdn.com/60237b60941d03293ee91d77f408bcb1d16ae262.png)

3.找到购买的DTS实例,单击配置同步链路。需要填写购买的RDS实例ID,RDS中数据库的用户名、密码,需要同步到的MaxCompute项目名称。配置同步链路完成之后单击授权白名单并进入下一步选项,将DTS服务器的IP地址自动添加到RDS实例和MaxCompute实例的白名单中,保障DTS服务器能够正常连接源和目标实例。 
![image](https://yqfile.alicdn.com/f385a363166aa2d7b53b11e1c84ac0bbeafe9921.png)

4.单击下一步,允许将MaxCompute中项目的下述权限授予给DTS同步账号。 
![image](https://yqfile.alicdn.com/9e92a8e8b0e869cfbc403781754d91568c15f4fc.png)

5.配置同步策略和同步对象,配置完成之后单击预检查并启动。只有预检查通过后才会成功启动数据同步作业。如果预检查失败,可以根据提示详情修复后重新进行预检查。 
![image](https://yqfile.alicdn.com/60fd86aed9ee8401cd0d8959d655f81976aee12c.png)

DTS数据同步配置的参数主要有:1)同步通道的源实例及目标实例信息;2)同步策略和同步对象。其中源实例及目标实例信息的配置需要注意的是源实例的名称和同步作业的信息,还有实例类型、地区和ID,同步策略和同步对象的配置需要注意的是增量日志表分区定义、同步初始化、目标已存在的表的处理模式以及选择同步对象。 
![image](https://yqfile.alicdn.com/8dc088189a717fcfcf22121eb6cf7c9deeeb7675.png)

6.在预检查对话框显示预检查通过后,关闭预检查对话框后同步作业正式开始。用户可以在数据同步作业页面查看同步的状态。 
![image](https://yqfile.alicdn.com/3867d83e69e3b044bbda25f1d465396bc0dd0058.png)

7.同步完成后,会在MaxCompute的生产环境中生成两张表,一张以\_base结尾,存储同步到的数据,另一张以\_log结尾,存储增量数据和元信息。用户可以通过查询表数据确定同步过程是否成功。 
![image](https://yqfile.alicdn.com/86976dc35871009a3d4fce1948f474c965773e10.png)

**实验注意事项及易遇到的问题** 
1.需要配置RDS的白名单,确保RDS可以被访问,否则会同步失败。 
![image](https://yqfile.alicdn.com/77c51e873326d2b164579934f011385bcf46a5a9.png)

2.关于配置RDS白名单,需要登陆到RDS控制台,找到对应Region下的RDS实例并进入。单击设置白名单选项,这里以内网地址的设置白名单为例。 
![image](https://yqfile.alicdn.com/b6220f9e167ac122cf6dfc1fbf7eb105c1b57c1a.png)

3.默认IP地址为127.0.0.1,表示不允许任何设备访问该RDS实例,需要修改允许其他设备访问。 
![image](https://yqfile.alicdn.com/af4776c923b60cac27a784dd4210183b889dfc4e.png)

4.需要修改默认地址,填写需要访问该实例的IP地址或IP段,如10.10.10.0/24,表示10.10.10.x的网段都可以访问该实例。0.0.0.0/0表示任意设备都可以访问该实例,此设置有一定安全风险,请谨慎使用。 
![image](https://yqfile.alicdn.com/af4776c923b60cac27a784dd4210183b889dfc4e.png)

5.针对DataWorks数据集成的快速批量配置,在公共云上,如果用户想对RDS同步到MaxCompute进行快速批量配置,可以进行整库迁移操作。如下图所示,找到添加到的数据源,单击整库迁移批量配置的选项。 
![image](https://yqfile.alicdn.com/4301d13125204b6dd9b115e2b460fb17f891a82b.png)

单击整库迁移批量配置的选项后,就可以进入到快速批量配置界面,需要选择要同步的数据表、创建生产环境表、选择同步方式等。下图展示了快速批量配置界面待迁移表筛选区、迁移模式、并发控制区。 
![image](https://yqfile.alicdn.com/5eb6e9535c5d985e80c72f5b6338471f49d15d6b.png)

此外,还可以进行高级设置,提供表名称,列名称,列类型的映射转换规则 
![image](https://yqfile.alicdn.com/abbb790ec26e9de513366d754ebe0664dd00e441.png)

6.当使用DTS同步时,会在同步的目标表中添加一些附加列。如果附加列和目标表中已有的列名称冲突会导致同步失败,可以通过启用新的附加列规则避免冲突,此配置会在旧版附加列的基础上加上new\_dts\_sync\_的前缀。 
![image](https://yqfile.alicdn.com/657b04c13c13b9eb5b880962c211129759111f5a.png)

 

 

 

 

 

 

 

 

 

[原文链接](https://yq.aliyun.com/articles/726766?utm_content=g_1000088004)

本文为云栖社区原创内容,未经允许不得转载。
分享到:
评论

相关推荐

    阿里云RDS5.6跟本地机房的MySQL5.6 实现实时同步

    该文章主要编写RDS如何同本地服务器上面自建的mysql实现主从同步的操作

    阿里rds mysql恢复到本地步骤

    本文档详细讲解了如何将阿里云RDS MySQL数据库恢复到本地服务器上,并提供了详细的步骤和注意事项。 安装MySQL数据库 在进行RDS本地恢复数据之前,我们需要先在本地服务器上安装MySQL数据库的5.6版本,因为RDS也是...

    mysql postgresql Greenplum 实时同步

    通过以上步骤,可以完成基本的环境搭建,进而利用Bireme实现MySQL或PostgreSQL到Greenplum/HashData数据仓库的数据实时同步。这不仅提高了数据同步的效率,还降低了维护成本,使得企业能够更加专注于核心业务的发展...

    阿里云RDS数据库恢复到本地自建数据库中步骤详解.doc

    阿里云RDS数据库恢复到本地自建数据库中步骤详解 阿里云RDS数据库恢复到本地自建数据库是许多开发者和数据库管理员经常遇到的问题。由于阿里云RDS数据库的特殊性,恢复到本地自建数据库中变得非常复杂。因此,本...

    阿里云 RDS for MySQL 备份文件恢复至自建数据库 .docx

    阿里云 RDS for MySQL 备份文件恢复至自建数据库 本文档将介绍如何将阿里云 RDS for MySQL 的备份文件恢复至自建数据库中,以供测试平台使用。我们将讨论物理备份和逻辑备份的差异,并探讨如何下载和解压备份文件,...

    藏经阁-基于MaxCompute平台进行机器学习并展示结果.pdf

    本文主要介绍了基于 MaxCompute 平台进行机器学习并展示结果的整个流程,该流程包括用户行为数据收集、机器学习平台中的数据处理和同步到 RDS 数据库中展示结果。 一、用户行为数据收集 用户行为数据收集是使用...

    MaxCompute数据开发实战—数据进入MaxCompute的N种方式.pdf

    - **DataX**:DataX是一个开源的异构数据源间的数据同步工具,支持包括MySQL、Oracle、SQLServer、PostgreSQL、HDFS、Hive、ADS、HBase、OTS、OSS、MaxCompute等多种数据源之间的数据同步。DataX的执行机制基于Java...

    【最新版】navicat150_mysql_en.dmg【亲测可用】最好的MySQL / MariaDB管理和开发工具

    数据传输,数据同步和结构同步可帮助您更轻松快捷地迁移数据,从而减少开销。提供详细的分步指南,以跨数据库传输数据。使用数据和结构同步来比较和同步数据库。在几秒钟内设置和部署比较,并获取详细的脚本以指定要...

    基于阿里云MaxCompute搭建数据仓库(离线)培训视频.zip

    13_RDS模拟业务数据生成 14_DataStudio控制台设置 15_ODS_sku商品表离线全量同步 16_ODS_离线全量表格数据同步完成 17_ODS_离线增量表order_info首次初始化同步 18_ODS_离线增量表使用DataWorks批量一次性同步功能 ...

    Binlog2Hive:MySQL增量数据实时同步到HDFSHive

    项目背景RDS的数据实时同步到HDFS下,并映射到Hive原理通过解析RDS的binlog将RDS的增量数据同步到HDFS下,并映射加载到Hive外部分区表由于RDS表中的第二个字段都为datetime字段,所以刚才以该字段作为Hive的分区字段...

    大数据实战Demo系统-MaxCompute数据仓库数据转换实践.pdf

    大数据实战Demo系统-MaxCompute数据仓库数据转换实践主要围绕如何在MaxCompute中构建数据仓库并执行数据转换,以实现高效的数据管理和分析。MaxCompute是阿里云提供的一个大规模数据处理平台,适用于大数据处理场景...

    阿里云RDS 数据恢复操作方案

    阿里云RDS数据恢复操作方案是指在使用RDS实例的过程中,出现数据丢失的情况下,通过RDS提供的创建恢复到时间点的临时实例的方法,来找回数据。该方案主要有两种:方案一是直接使用备份集的数据覆盖主实例,方案二是...

    阿里云RDS for MySQL的若干优化

    总结来说,本文深入探讨了阿里云RDS for MySQL的优化策略,包括双重同步复制、InnoDB重做日志复制、语句/事务超时、异步优化以及结合异步复制和半同步复制的策略。这些技术的整合使用能够显著提升数据库的性能、稳定...

    阿里云SLB-ECS-OSS-RDS与系统数据迁移.docx

    阿里云SLB-ECS-OSS-RDS与系统数据迁移是云计算领域中的一个重要概念,它涉及到阿里云的多个服务,包括SLB(负载均衡服务)、ECS(云服务器)、OSS(对象存储服务)和RDS(关系数据库服务)。本文将对这些服务进行...

    navicat150_mysql_en.dmg navicat-for-mysql: 15.0.12 MySQL / MariaDB管理和开发的理想解决方案

    它是一个单一应用程序,可让您同时连接到MySQL和MariaDB数据库。与Amazon RDS,Amazon Aurora,Oracle Cloud,Google Cloud和Microsoft Azure等云数据库兼容。这个全面的前端为数据库管理,开发和维护提供了直观而...

    阿里巴巴大数据之路——数据技术篇.pdf

    在整体架构中,数据采集层使用DataX等工具进行数据同步,数据计算层依赖MaxCompute这样的离线计算平台,数据服务层通过RDS等数据库服务提供接口或视图数据,数据应用层涵盖流量分析等多个数据应用工具。 在数据采集...

Global site tag (gtag.js) - Google Analytics