开发者学堂课程【数据仓库 ACP 认证课程:快速学习云原生数据仓库 AnalyticDB MySQL 版 _解析与实践3】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/928/detail/14625
云原生数据仓库 AnalyticDB MySQL 版_解析与实践3
四、操作演示——创建数据仓库并完成数据同步
把RDS MySQL 中一张表的数据导入进 ADB MySQL 中,实现数据导入。
过程分为6个步骤:
1. 在 ADB MySQL 创建高权限账号
2. 创建数据库
3创建 RDS MySQL 外表
4.创建 AnalyticDB MySQL 表
5.转储 RDS MySQL 的数据到 AnalyticDB MySQL 中
6.导入数据验证
实验以 ADS 官方文档进行操作。通过已经建好的 ADS MySQL 集群以及 RDS 实例,将数据从 RDS 中导入进 ADS MySQL 中。RDS MySQL 实例需与 AnalyticDB MySQL 集群在同一个 VPC 下。
为了保证 AnalyticDB MySQL 能访问 RDS,需要将 RDS 设置白名单。默认白名单为1.27.0.1,表示禁止所有地址访问。复制专有网络的地址后修改 RDS 白名单
RDS 数据库创建账号登录 DMS。使用 root 创建数据库账号,获取最高权限。设置密码。
访问数据库在数据库连接中获取地址,获取地址后创建外部表可以用到。
此时需要创建两个表,一个是 adb 数据局的表,一个是外部表,通过外部表来实现数据的导入导出。首先需要登录到集群当中,创建账号,创建一个最高权限的账号,名称为 root,同时设置密码。
此时对于 adb mysql 集群来说,如果想要通过外表的方式导入数据,需要打开网络,然后此时可以连接集群,在集群中创建对应数据库及 web 的映射表。
默认数据库有两个,此时需要创建一个自己的数据库,命名为 adb.demo,此时可以访问它,在 adb 当中再创建一张外部表,创建语句为:
CREATE TABLE IF NOT EXISTS goods_external_table (
goods_id bigint(20) NOT NULL,
price double NOT NULL, class bigint(20) NOT NULL,
name varchar(32) NOT NULL,
update_time timestamp,
PRIMARY KEY (goods_id)
)
ENGINE='mysql' TABLE_PROPERTIES='{
"url":"jdbc:mysql://
rm-bp1925ru5x6pzt2m3.mysql.rds.aliyuncs.com.3306
/test_adb",
"tablename":"goods",
"username":"
root
",
"password":"
zhou_123456
"
}';
此时已经完成了外部表的创建,此时需要在adb mysql当中创建自己的表,代码如下:
CREATE TABLE IF NOT EXISTS mysql_import_test (
goods_id bigint(20) NOT NULL,
price double NOT NULL,
class bigint(20) NOT NULL,
name varchar(32) NOT NULL,
update_time timestamp, PRIMARY KEY (goods_id)
)
DISTRIBUTED BY HASH(goods_id);
此时有了外部表和一个 adb 的表,此时可以通过 insert 来完成数据的导入导出,此时执行代码如下:
Insert inte mysql_import_test select * fromgood_external_table;
//导入操作
此时执行,可以看到执行一条语句成功,此时打开表,可以看到已经显示。
此时完成了一次数据导入的过程。把 rds mysql 的数据导入到了 adb mysql 当中。
此时案例演示结束。