阿里巴巴大数据 —玩家社区 关注
手机版

【大数据新手上路】“零基础”系列课程--MySQL 数据整库迁移到 MaxCompute

  1. 云栖社区>
  2. 阿里巴巴大数据 —玩家社区>
  3. 博客>
  4. 正文

【大数据新手上路】“零基础”系列课程--MySQL 数据整库迁移到 MaxCompute

tge4 2017-06-20 11:13:29 浏览1914 评论0

摘要: 本实验通过大数据开发套件的整库迁移功能,快速将 MySQL 数据整库迁移到 MaxCompute,从而提升工作效率、降低用户使用成本。

随着公司业务的增多,云数据库 RDS 下的 MySQL 数据库的表越来越多,想要把它全部迁移到 MaxCompute 中进行计算分析,但又愁要配置太多次同步任务。如何能将大量的数据表一次性上传到 MaxCompute 中呢?通过大数据开发套件的整库迁移功能,便可快速完成 MySQL 数据整库迁移到 MaxCompute,从而节省同步时间,提高工作效率。

下面介绍一个适用于中小企业用户,高效率低成本的数据同步方案:

对于自建或云数据库 RDS 的 MySQL 数据库中的数据,都可以通过整库迁移功能,快速同步到 MaxCompute 中进行存储与分析,流程图如下:

25

云数据库 RDS :RDS 是一种稳定可靠、可弹性伸缩的在线数据库服务,本实验主要使用 云数据库 MySQL 版

MaxCompute:原名 ODPS,是由阿里云自主研发的一款服务,提供针对TB/PB级数据、实时性要求不高的分布式处理能力,它适用于海量数据的存储、计算,商业智能等领域。

大数据开发套件:大数据开发套件提供全面托管的工作流服务,一站式开发管理的界面,帮助企业快速搭建数据中心。

实验目的和前期说明

实验目的:
通过大数据开发套件的整库迁移功能,快速把云数据库中的数据同步到 MaxCompute 中。

前期说明:
用户拥有阿里云官网实名认证账号,并且创建好账号 Access Key。

实验前的准备工作

开通并创建 MaxCompute 项目

1 . 阿里云实名认证账号访问 https://www.aliyun.com/product/odps ,根据自身需求进行购买,开通 MaxCompute;

a>

2 . 点击开通成功页面的管理控制台,进入 MaxCompute 的 控制台页面

3 . 创建项目。进入控制台页面后导航至 大数据开发套件 — 项目列表,点击 创建项目,如图所示:

a>

4 . 在弹出框中选择区域和付费方式,输入项目名称:

a>

准备同步数据

创建 RDS 实例

1 . 登录 RDS 管理控制台
2 . 在 实例列表 页面,单击 新建实例,进入 创建 页面;
3 . 选择包年包月或按量付费,示例选择包年包月。关于计费方式的选择,请参见 收费项目及价格说明 中的计费方式;
4 . 根据自身需求选择基本配置、网络类型、规格、存储空间、购买时长和购买量等实例配置,详情请参见:创建实例中的选择实例配置
5 . 单击立即购买,进入订单确认页面;
6 . 阅读关系型数据库 RDS 服务条款后,根据后续提示完成支付流程。

设置白名单

1 . 登录 RDS 管理控制台,选择目标实例;
2 . 在实例左侧菜单中选择 数据安全性
3 . 在数据安全性页面的默认分组后单击 修改,如下图所示:

a>

4 . 在修改白名单分组页面删除默认白名单 127.0.0.1,填写自定义白名单后,单击 确定,如下图所示:

a>

组内白名单:填写可以访问数据库的 IP 地址或者 IP 段,IP 地址或者 IP 段间用英文逗号分隔。详情请参见:设置白名单中的操作步骤

创建账号和数据库

1 . 登录 RDS 管理控制台,选择目标实例;
2 . 选择左侧菜单中的 账号管理,单击 创建账号,如下图所示:

a>

3 . 输入要创建的账号信息,单击 确定,如下图所示:

a>

4 . 选择菜单中的 数据库管理,单击 创建数据库,如下图所示:

a>

5 . 输入要创建的数据库信息,单击 确定,如下图所示:

a>

登录数据库

进入数据库管理页面,点击上侧 登录数据库,在弹出页面填写数据库用户名和密码,如下图所示:

a>

创建表并准备数据

1 . 成功登录数据库后,点击 SQL 操作下的 SQL 窗口,如下图所示:

a>

2 . 输入建表语句,点击执行,示例如下:

 CREATE TABLE `a1` 
(
 `id` int(11) NULL,
 `col1` varchar(32) NULL,
 `col2` varchar(32) NULL,
 `col3` varchar(32) NULL,
 `col4` varchar(32) NULL
)
 ENGINE=InnoDB
 DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci;

3 . 根据自身需求写入数据即可,insert 语句如下:

`INSERT INTO table_name(col_name,...) values(expr,...)`

整库迁移配置

新增数据源

1 . 登录到大数据开发套件 数据集成产品页,单击左侧导航栏离线同步—数据源,进入数据源管理页面,如下图所示:

a>

2 . 点击右上角的 新增数据源,添加一个面向整库迁移的 MySQL 数据源 mysql_demo,填写相关信息,如下图所示:

a>
各配置项的说明请参见:RDS 数据源配置之新建 RDS-MySQL 数据源
3 . 点击 测试连通性 验证数据源访问正确无误后,确认并保存此数据源。

整库迁移

1 . 进入数据源列表页面,找到新增的数据源,点击对应 MySQL 数据源后的 整库迁移,即可进入对应数据源的整库迁移功能界面,如下图所示:
a>

a>

2 . 点击右上角 高级设置 按钮,您可以根据自身需求选择转换规则。比如 MaxCompute 端建表时统一增加了 ods_ 这一前缀,如下图所示:

a>

3 . 根据自身需求选择需要迁移的数据表、同步方式、日期字段、同步并发配置、开始时间和同步数量,如下图所示:

a>

4 . 点击 a1 表后对应的查看任务,会跳转到数据集成的任务开发界面。如下图所示:

a>

由上图可以看到:源头 a1 表对应的 MaxCompute 表 ods_a1 创建成功,列的名字和类型也符合之前映射转换配置。在左侧目录树 mysql_demo 目录下,会有对应的所有整库迁移任务,任务命名规则是: mysql2odps 源表名,如上图红框部分所示。

5 . 此时便成功将一个 MySQL 数据源 mysql_demo 整库迁移到 MaxCompute 的工作。这些任务会根据配置的调度周期(默认天调度)被调度执行,您也可以使用 DataWorks DataIde 调度补数据功能完成历史数据的传输。

通过 数据集成-整库迁移功能 可以极大减少您初始化上云的配置、迁移成本。

用云栖社区APP,舒服~

【云栖快讯】Apache旗下顶级开源盛会 HBasecon Asia 2018将于8月17日在京举行,现场仅600席,免费赠票领取入口  详情请点击

网友评论

tge4
文章4篇 | 关注0
关注
MySQL 是全球最受欢迎的开源数据库,阿里云MySQL版 通过深度的内核优化和独享实例提供... 查看详情
快速、完全托管的TB/PB级数据仓库解决方案,向用户提供了完善的数据导入方案以及多种经典的分... 查看详情
一款阿里巴巴自主研发的高性能、分布式的关系型数据库,支持完整的ACID特性。它高度兼容MyS... 查看详情
为您提供简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效... 查看详情
阿里云总监课正式启航

阿里云总监课正式启航