更新时间:2019-04-24 10:23
为了更加方便地演示操作,您需要先通过以下步骤在RDS中准备好测试数据。
创建表并写入测试数据
创建person表
create table person (
id int,
name varchar(1023),
age int
);
向person表中插入数据
insert into person
values
(1, 'james', 10),
(2, 'bond', 20),
(3, 'jack', 30),
(4, 'lucy', 40);
创建RDS for MySQL Schema
本文示例中所有数据表均使用以下Schema。
CREATE SCHEMA hello_mysql_vpc_rds WITH DBPROPERTIES (
CATALOG = 'mysql',
LOCATION = 'jdbc:mysql://rm-2zer0vg58mfofake.mysql.rds.aliyuncs.com:3306/rds_mysql_dbname',
USER = 'rds_mysqldb_username',
PASSWORD = 'rds_mysqldb_password',
INSTANCE_ID = 'rds_mysql_instance_id',
VPC_ID = 'rds_mysqldb_vpcid'
);
在DLA中创建MySQL/SQLServer/PostgreSQL Schema之前,需要将IP地址段100.104.0.0/16
加入到RDS的白名单列表中。
由于RDS实例位于VPC内,默认情况下DLA无法访问VPC中的资源。为了让DLA能访问RDS,需要利用VPC反向访问技术,即在RDS白名单中添加100.104.0.0/16
IP地址段。
权限声明:当您使用了本文介绍的方法创建MySQL Schema,即视为您同意我们利用VPC反向访问技术读写RDS。
创建表:
create external table person like mapping('person');
+-------------+-----------+-----------------+
desc person;
+-------------+-----------+-----------------+
| Field | Type | Collation |
+-------------+-----------+-----------------+
| id | int | utf8_general_ci |
| age | int | utf8_general_ci |
| name | varchar | utf8_general_ci |
查询表数据:
SELECT * FROM hello_mysql_vpc_rds.person
+------+------+----+
| id | name | age |
+-----+------+-----+
| 1| james| 10|
| 2| bond | 20|
| 3| jack | 30|
| 4| lucy | 40|
传统数据库支持将一个表复制一份生成一张新表,DLA中通过CREATE TABLE LIKE可以实现同样的功能。
语法:
create external table_name2 like table_name_1;
示例:
以前面的persopn表为例,通过CREATE TABLE LIKE复制一份与person表结构、数据相同的表person_2。
create external table person_2 like person;
+------+-------------------+---+------+
SELECT * FROM hello_mysql_vpc_rds.person_2
+------+------+----+
| id | name | age |
+-----+------+-----+
| 1| james| 10|
| 2| bond | 20|
| 3| jack | 30|
| 4| lucy | 40|
在文档使用中是否遇到以下问题
更多建议
匿名提交