本文主要介绍如何读取RDS MySQL中的数据。

步骤一:创建RDS MySQL Schema

  1. 登录DLA控制台

  2. 单击左侧导航栏的访问点管理,然后单击登录DMS,执行以下SQL创建RDS MySQL Schema。

    您也可以通过MySQL客户端或者程序代码等方式链接DLA,然后执行以下SQL创建RDS MySQL Schema。

    ​ CREATE SCHEMA hello_mysql_vpc_rds WITH DBPROPERTIES (
       CATALOG = 'mysql', 
       LOCATION = 'jdbc:mysql://rm-******fofake.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'
     );​
    参数 说明
    CATALOG 取值为mysql,表示创建的是MySQL Schema。
    LOCATION RDS MySL的连接信息,由jdbc:mysql://RDS MySQL连接地址:3306/rds_mysql_dbname
    USER RDS MySQL中的数据库账号。
    PASSWORD USER对应的密码。
    INSTANCE_ID RDS MySQL的实例ID。
    VPC_ID RDS MySQL的VPC ID。

步骤二:创建表

​create external table person (
id int,
name varchar(1023),
age int
) tblproperties (
table_mapping = "person"
);​

步骤三:查询数据

表创建成功后,您就可以在DLA中通过SELECT查询RDS MySQL中的数据。

​mysql> select * from person;
+------+-------+------+
| id   | name  | age  |
+------+-------+------+
|    1 | james |   10 |
|    2 | bond  |   20 |
|    3 | jack  |   30 |
|    4 | lucy  |   40 |
+------+-------+------+
4 rows in set (0.35 sec)​

步骤四:将OSS数据写入RDS MySQL

在DLA中读取RDS数据,并不是RDS在DLA中的典型应用场景。因为RDS本身能承载的数据量有限,不适合大数据分析。更多的场景是在DLA中对存储在OSS、Tablestore中的大数据进行分析,分析完成之后把结果数据回写到RDS中,供前台业务使用。

以person表为例,通过以下语句把oss_db中customer的十条记录进行了一些转换,然后插入hello_mysql_vpc_rds.person表。

说明 DLA如何读取OSS中的数据,请参见操作步骤
​mysql> insert into hello_mysql_vpc_rds.person
select c_custkey, c_name, c_custkey + 20 from oss_db.customer limit 10;
+------+
| rows |
+------+
|   10 |
+------+
1 row in set (4.57 sec)​
​mysql> insert into hello_mysql_vpc_rds.person
select c_custkey, c_name, c_custkey + 20 from oss_db.customer limit 10;
+------+
| rows |
+------+
|   10 |
+------+
1 row in set (4.57 sec)​