利用DLA一键建仓功能一次性归档RDS/MySQL全量数据

简介: 利用现有的阿里云DLA一键建仓功能,对RDS/MySQL数据进行一次性全量数据归档。

背景

目前DLA的一键建仓可以非常方便的进行RDS数据归档任务,只需要简单配置一下,就可以每天同步
最新的归档数据到oss上,进而做一些DLA分析查询等。

但是最近有的用户提出,只需要归档一次,下次不再归档,或者下次归档的目录数据不覆盖之前的。
这样可以保留每次归档的数据snapshot镜像。这种场景在一些审计校对的业务中,确实会比较实用。
本文就针对这个场景,说明如何使用DLA的一键建仓任务,来做各个历史数据镜像的功能。整个过程主要
分以下几步:

  • 一键建仓schema的创建与运行
  • 创建oss schema,创建对应的外表映射
  • 删除原来的一键建仓schema

实战例子

下文演示例子:
某公司在阿里云RDS上,有一个finance库,这个库中各种表专门记录了公司内部所有财务收支记录。会计部门每个月初,需要对上个月的所有财务收支情况进行审计汇总。审计报告由高层管理人员审核。
简单的来讲,用户需要对RDS的数据做周期的一次性归档镜像快照,不互相覆盖,长期有效的存储着这个finance 库历史数据快照,并提供一下低频分析查询的功能操作。如:

  • 2月1号,备份finance库目录为 oss://test/finance/20200201/,子目录有table1、table2、table3....
  • 3月1号,备份finance库目录为 oss://test/finance/20200301/,子目录有table1、table2、table3....
  • 4月1号,备份finance库目录为 oss://test/finance/20200401/,子目录有table1、table2、table3....
  • 5月1号,......

创建一键建仓任务运行,并获取建表语句

创建一键建仓finance20200401任务,选择 20200401目录为schema数据根目录

20200403151926

立即运行finance20200401建仓任务,等待任务完成

20200403152003
20200403152055

schema管理列表,进入finance20200401 复制建表语句

20200403152626
20200403152739
如图,执行show create table users; 得到如下

CREATE EXTERNAL TABLE `finance20200401`.`users` (
    `id` string COMMENT '',
    `username` string COMMENT '',
    `cardnum` string COMMENT '',
    `gmt_create` timestamp COMMENT ''
)
COMMENT ''
STORED AS `PARQUET`
LOCATION  'oss://oss-tiansihz-for-xxxxx-test/20200401/6/users'
TBLPROPERTIES (
    'auto.create.location' = 'true'
)

这里注意,看到“users”数据目录这次放在了“oss://oss-tiansihz-for-xxxxx-test/20200401/6/”目录下,
于是我们需要创建一个oss schema映射到这个目录下,如下

创建oss schema

创建一个oss schema "20200401_snapshot",并映射到指定目录下

20200403152917
20200403153129
如图,核心确保这个schema映射到了“oss://oss-tiansihz-for-xxxxx-test/20200401/6/”目录下,创建执行即可

schema管理找到20200401_snapshot,点击“查询数据”进入sql控制台

20200403153319

20200401_snapshot在sql控制台把之前复制的users建表语句粘贴进来,并在location路径最后加上“/”结尾

20200403153630

执行之后,得到了对应的users表,就可以正常查询了。
20200403153710

删除一键建仓任务schema “finance20200401”

此时,就可以吧一键建仓的finance20200401删除了,我们后续要查询的归档数据就用20200401_snapshot 这个schema就可以了。
20200403155209
20200403155239

小结

这里本质上是利用“一键建仓”的schema “finance20200401”完成“一次归档”RDS数据到oss上,然后立即删除这个一键建仓任务schema,防止后续每天都调度。归档过来的数据,使用oss schema 创建的外表来查询即可。整个过程还是比较简单的,方案供参考。
当然为了一次建仓归档调度,还有别的方案。比如在DLA创建一个mysql表 usersA,再创建一个oss表usersB, 两个结构相同,然后DLA发起一个insert into B select from A sql就可以了。这里不展开,有需要的可以咨询“DLA答疑”客服。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
3天前
|
关系型数据库 MySQL API
实时计算 Flink版产品使用合集之可以通过mysql-cdc动态监听MySQL数据库的数据变动吗
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
19 0
|
2天前
|
SQL 资源调度 关系型数据库
实时计算 Flink版产品使用合集之在抓取 MySQL binlog 数据时,datetime 字段会被自动转换为时间戳形式如何解决
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
9 2
|
3天前
|
消息中间件 关系型数据库 MySQL
实时计算 Flink版产品使用合集之2.2.1版本同步mysql数据写入doris2.0 ,同步完了之后增量的数据延迟能达到20分钟甚至一直不写入如何解决
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
11 1
|
3天前
|
Oracle 关系型数据库 MySQL
实时计算 Flink版产品使用合集之Flink CDC 2.3.0和Flink 1.17,无法从MySQL数据库中抽取数据,是什么原因导致的
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
19 1
|
3天前
|
关系型数据库 MySQL 数据处理
实时计算 Flink版产品使用合集之如果在 MySQL 表中为某个字段设置了默认值,并且在插入数据时指定了该字段为 NULL,那么 MySQL 是否会使用默认值来填充这个字段
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
18 0
|
3天前
|
关系型数据库 MySQL Java
实时计算 Flink版产品使用合集之mysql通过flink cdc同步数据,有没有办法所有表共用一个dump线程
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
8 0
|
3天前
|
关系型数据库 MySQL Java
实时计算 Flink版产品使用合集之如果MySQL的binlog保存时间只有三天,那么三天之前的数据是不是会通过Doris的外表手动插入
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
12 0
|
5天前
|
关系型数据库 MySQL 数据库
docker MySQL删除数据库时的错误(errno: 39)
docker MySQL删除数据库时的错误(errno: 39)
25 0
|
5天前
|
Java 关系型数据库 MySQL
【MySQL × SpringBoot 突发奇想】全面实现流程 · xlsx文件,Excel表格导入数据库的接口(下)
【MySQL × SpringBoot 突发奇想】全面实现流程 · xlsx文件,Excel表格导入数据库的接口
16 0
|
5天前
|
Java 关系型数据库 MySQL
【MySQL × SpringBoot 突发奇想】全面实现流程 · xlsx文件,Excel表格导入数据库的接口(上)
【MySQL × SpringBoot 突发奇想】全面实现流程 · xlsx文件,Excel表格导入数据库的接口
23 0