全部产品
云市场

使用多库合并建仓

更新时间:2019-10-12 11:32:22

前提条件

使用多库合并建仓功能之前,您需要按照以下步骤做好准备工作。

RDS

根据您的业务需要,参照RDS for MySQL快速入门RDS for SQL Server快速入门RDS for PostgreSQL快速入门或者MySQL for PPAS快速入门准备好RDS数据源。

OSS

多库合并建仓时,DLA将OSS作为存储RDS数据的仓库,您需要在OSS中完成以下准备工作。

  1. 开通OSS服务

  2. 创建Bucket

  3. 新建文件夹

    根据业务需求,判断是否需要新建文件夹,将RDS数据存储在新建文件夹中。

实施步骤

  1. 登录Data Lake Analytics管理控制台

  2. 在页面左上角,选择DLA所在地域。

  3. 在左侧导航栏单击Schema管理

  4. Schema管理页面,单击创建Schema

  5. 创建Schema页面的常用页签下,单击多库合并建仓中的使用向导创建

  6. DLA首次访问RDS时,需要您将RDS的只读权限授予DLA,授权完成后单击下一步

    如果您之前已经将RDS的只读权限授予DLA,则可以忽略该步骤。

    只读授权DLA

  7. 根据页面提示,配置数据库实例和存储RDS数据的OSS仓库。

    类别 参数 说明
    手动选择

    通过手动方式指定RDS实例数据源,该方式适用于RDS实例个数不多且实例个数静态、不会频繁动态增加的场景。

    类型 数据源的类型为RDS。 通过单击实例前面的圆圈,将RDS实例添加到数据源中。
    数据库筛选规则 输入您要同步的数据库名字。
    • 多个数据库名字之间用英文逗号(,)分隔。
    • 数据库名支持使用通配符%,例如user_%
    通过查询指定

    通过SQL查询方式指定RDS数据源,该方式适用于RDS实例个数较多且实例个数动态增加的场景。

    - 例如SELECT 'mysql' AS engine, 'db001' AS db_name, 'rm-111..aliyuncs.com' AS host, 3306 AS port, 'rm-123445' AS instance_id, 'vpc-3424555' AS vpc_id FROM tbl1
    认证信息 用户名 为使用方便,DLA要求您选择的所有数据库均使用统一的用户名和密码。
    密码 上述用户名对应的密码。

    输入用户名和密码后,您可以单击测试连接,进行连通性测试。

    建仓配置 Schema名称 设置Schema的名称,即RDS数据库在DLA中的映射数据库名称。
    数据位置 建仓时,RDS数据存储在OSS中的详细地址。

    系统将自动拉取与DLA同地域的OSS Bucket。单击选择位置,您可以根据业务需要,灵活选取Bucket和Object。

    使用多库合并建仓功能时,DLA需要有删除OSS数据的权限,以便进行从OSS数据到RDS数据的ETL(Extract Transform Load)操作,关于授权请参见如何授予DLA删除OSS文件权限

    同步时间 设置将RDS数据同步至OSS的时间。

    系统默认的数据同步时间是00:30,您可以根据业务规律,将数据同步时间设置在业务低峰期,以免同步过程中可能对业务造成的影响。

    表名生成规则 设置DLA建仓时,RDS表在数仓中的映射表名。映射表名将通过以下两种规则自动生成:
    • IdentityResolver:数仓中的表名与RDS表名相同,适用于RDS中有分库但没有分表的场景。
    • RemoveTrailingUnderscoreAndNumberResolver:将RDS表名中最后一次出现的下划线和数字去掉,作为数仓中的表名。

      例如,RDS表名为tbl_001,则数仓表名为tbl

    分区配置 设置数仓中的分区字段以及分区字段值的生成方式。

    分区字段值为一个包含变量的表达式,例如${rdsInstanceId}。DLA暂时支持以下变量:

    • rdsEngine:RDS支持的引擎类型,有MySQL、SQLServer、PostgreSQL、Oracle。
    • rdsDbName:RDS中数据库的名字。
    • rdsTableName:RDS中数据表的名字。
    • rdsInstanceId:RDS实例ID。
    • rdsVpcId:RDS实例所属VPC ID。
    建议您同时填写RDS实例ID以及数据库名,例如:
    • 分区名rds_instance_id,分区值${rdsInstanceId}
    • 分区名rds_db_name,分区值${rdsDbName}
    高级配置 自定义设置项,例如过滤字段等,详情请参见高级选线功能

    多库合并

  8. 完成上述参数配置后,单击创建,创建数仓。

数据库仓库创建成功后,DLA自动在您设定的同步时间将RDS数据同步到OSS中,同时在OSS中创建与RDS相同的表结构,在DLA中创建对应的OSS表。