详情页标题前

阿里云RDS数据库云盘备份数据导入至AnalyticDB MySQL版-云淘科技

详情页1

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

前提条件

  • RDS MySQL为云盘实例,且支持高级备份下载功能。是否支持,请参见前提条件。

  • 已创建目标云原生数据仓库AnalyticDB MySQL集群。具体操作,请参见创建数仓版集群或创建湖仓版集群。

  • 如果您的AnalyticDB MySQL集群是弹性模式,您需要在集群信息页面的网络信息区域,打开启用ENI网络的开关。阿里云RDS数据库云盘备份数据导入至AnalyticDB MySQL版-云淘科技

注意事项

AnalyticDB MySQL版仅支持CSV、Parquet两种数据文件导入,因此使用RDS MySQL下载备份功能时,请选择下载格式为CSV或Parquet。

准备工作

通过以下步骤在对象存储(Object Storage Service,简称OSS)中创建存储AnalyticDB MySQL版数据的目录,并使用下载备份功能将数据下载到阿里云OSS中。

  1. 开通OSS服务。具体操作,请参见开通OSS服务。

  2. 在OSS控制台创建存储空间(Bucket)。具体操作,请参见控制台创建存储空间。

    说明

    OSS与AnalyticDB MySQL版所属地域需相同。

  3. 在OSS控制台创建目录。具体操作,请参见创建目录。

  4. 使用下载备份功能下载云盘实例的备份数据,并选择下载目标为OSS

    说明

    如果下载目标选择为其他方式,后续请自行上传备份至阿里云OSS中。具体操作,请参见上传数据。

    本文示例中,测试所用的RDS MySQL源库名为mydb,该库中存在表mytable。表中的数据示例如下:

    INSERT INTO mytable (id, name)
    VALUES
        ("12", "hello_world_1"),
        ("27", "hello_world_2"),
        ("28", "hello_world_3"),
        ("33", "hello_world_4"),
        ("37", "hello_world_5"),
        ("40", "hello_world_6");

    使用备份下载功能将mytable表中数据下载至OSS中的/bucket/_export/mydb/mytable/data/0-1csv目录中。

OSS数据导入至AnalyticDB MySQL版

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

  1. 连接目标AnalyticDB MySQL集群。详细操作步骤,请参见连接集群。

  2. 创建目标数据库。详细操作步骤,请参见创建数据库。

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

  3. 创建外部映射表。

    说明

    在创建外部映射表时,表名可以选择与原表名相同,也可以使用不同的表名,按需命名即可。

    由于ADB暂不支持全库分析,仅支持表分析,因此分析前AnalyticDB MySQL版库中必须有映射表。使用CREATE TABLE语句在目标库adb_demo中创建CSV或Parquet格式的OSS外部映射表。本示例以创建CSV格式的OSS外部映射表为例(不带分区)。更多语法详情,请参见不带分区的数据文件创建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"
    }';

    参数

    说明

    ENGINE=’OSS’

    表示该表是外部表,使用的存储引擎是OSS。

    TABLE_PROPERTIES

    用于告知AnalyticDB MySQL版如何访问OSS中的数据。

    endpoint

    OSS的EndPoint(地域节点)

    说明

    目前仅支持AnalyticDB MySQL版通过ECS的VPC网络访问OSS。

    登录OSS控制台,单击目标Bucket,在Bucket概览页面查看EndPoint(地域节点)

    url

    OSS中源数据文件或文件夹的绝对路径。建议文件夹绝对路径以正斜线(/)结尾。

    示例:

    • 文件:oss:///adb/oss_import_test_data.csv

    • 文件夹:oss:///adb_data/

    accessid

    您在访问OSS中的文件或文件夹时所持有的AccessKey ID。

    如何获取您的AccessKey ID和AccessKey Secret,请参见账号与权限。

    accesskey

    您在访问OSS中的文件或文件夹时所持有的AccessKey Secret。

    delimiter

    定义CSV数据文件的列分隔符。例如您可以将列分隔符设置为英文逗号(,)。

    format

    数据文件的格式。

    • 创建Parquet格式文件的外表时需设置为parquet

    • 创建ORC格式文件的外表时需设置为orc

    说明

    不指定format时,默认格式为CSV。

    说明

    如果在下载的文件中表格被存储为多个CSV文件,例如:0-1csv0-2csv,分析时,只需将url更改为data目录:"url":"oss://bucket/_export/mydb/mytable/data/",AnalyticDB MySQL版会将该路径下的文件合并到mytable分析表中。

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

  4. 执行如下语句,查询导入的数据。

    -- mytable为AnalyticDB MySQL版数据库中表名称
    SELECT * FROM mytable;

    得到表格结果,该表内容与下载源的mytable表内容完全一致。

    阿里云RDS数据库云盘备份数据导入至AnalyticDB MySQL版-云淘科技

后续步骤

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

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/155520.html

(0)
上一篇 2023年12月9日
下一篇 2023年12月9日
详情页2

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。