如果您需要对RDS MySQL云盘数据进行查询分析,您可先使用高级下载功能下载数据至阿里云OSS中,然后将OSS中的RDS MySQL云盘数据导入到云原生数据仓库AnalyticDB MySQL版(ADB)进行查询分析。

前提条件

  • 实例为RDS MySQL 云盘版。
  • 导入ADB的文件格式为CSV、Parquet。
  • 通过以下步骤在对象存储(Object Storage Service,简称OSS)中创建存储AnalyticDB MySQL版数据的目录,并使用高级下载功能下载数据至阿里云OSS中。
    1. 开通OSS服务
      说明 OSS与AnalyticDB MySQL版所属地域相同。
    2. 创建存储空间
    3. 创建目录
    4. 使用高级下载功能下载数据至阿里云OSS中。
      数据库mydb中存在表mytable。数据示例如下:mytable1
      本示例将mytable文件下载至OSS中的/bucket/_export/mydb/mytable/data/0-1csv目录中。下载的CSV文件示例数据如下:
      "12","hello_world_1"
      "27","hello_world_2"
      "28","hello_world_3"
      "33","hello_world_4"
      "37","hello_world_5"
      "40","hello_world_6"
  • 已创建目标云原生数据仓库AnalyticDB MySQL集群,具体操作,请参见创建云原生数据仓库AnalyticDB MySQL(2.0)创建云原生数据仓库AnalyticDB MySQL(3.0)
  • 如果您的AnalyticDB MySQL集群是弹性模式,您需要在集群信息页面的网络信息区域,打开启用ENI网络的开关。启用ENI网络

OSS数据导入至AnalyticDB MySQL

本示例将/bucket/_export/mydb/mytable/data/0-1csv中的数据导入至ADB的adb_demo库中。

  1. 连接目标AnalyticDB MySQL集群。详细操作步骤,请参见连接集群
  2. 创建目标数据库。详细操作步骤,请参见创建数据库

    本示例中,AnalyticDB MySQL集群的目标库名为adb_demo

  3. 创建外部映射表。

    由于ADB暂不支持全库分析,仅支持表分析,因此分析前必须在ADB库中有映射表。使用CREATE TABLE语句在目标库adb_demo中创建CSV或Parquet格式的OSS外部映射表。具体语法,请参见创建OSS外表语法。本示例以创建CSV格式的OSS外部映射表为例:

    CREATE TABLE IF NOT EXISTS mytable
    (
        id string,
        name string
    )
    ENGINE='OSS'
    TABLE_PROPERTIES='{
        "endpoint":"oss-cn-hangzhou-internal.aliyuncs.com",
        "url":"oss://bucket/_export/mydb/mytable/data/0-1csv",
        "accessid":"LTAIF****5FsE",
        "accesskey":"Ccw****iWjv",
        "delimiter":",",
        "format":"csv"
    }';
    说明 如果在下载的文件中表格被存储为多个CSV文件,例如:0-1csv0-2csv,分析时,只需将url更改为data目录:"url":"oss://bucket/_export/mydb/mytable/data/",ADB会将该路径下的文件合并到mytable分析表中。

    此时,在ADB数据库中可以看到mytable表,该表与下载源的mytable表内容是完全一致的,可对其进行查询。

  4. 查询OSS数据。
    控制台输入如下语句:
    SELECT * FROM mytable;     //mytable为ADB数据库中表名称
    得到表格结果,该表内容与下载源的mytable表内容完全一致。mytable2

后续步骤

RDS MySQL云盘下载数据导入至ADB后,就可通过ADB的分析能力对下载的表做业务分析。如果涉及到多个表联表查询,您需要按以上步骤导入多个表格到adb_demo数据库中。