本文将介绍在DMS中接入DLA数据湖,利用DLA一键建仓功能将RDS MySQL数据库接入DLA数据库,并在DMS中对DLA数据库进行任务流开发,简要介绍在DMS接入DLA的开发与应用。

背景信息

数据湖分析(Data Lake Analytics,简称DLA)是无服务器(Serverless)化的云上交互式查询分析服务。DLA完全采用SQL与服务端进行交互,兼容标准的SQL,提供丰富的内置函数支持。DLA支持多路数据源接入分析,提供了多样化、异构的数据源分析能力。您不仅能够对阿里云OSS中的数据、Tablestore中的数据进行分析,还能将这两者之间的数据进行关联性分析,可以帮助您解决将不同种类的数据进行联合分析的问题。同时DLA全面融合MPP(Massively Parallel Processing,即大规模并行处理)和DAG(Directed AcyclicGraph)技术,超强的横向分析扩展能力、向量化执行优化、算子流水线优化,提供良好的资源隔离和优先级调度。使用DMS任务流在DLA上做周期性数据分析可获得如下好处:
  • 任务流只需一次定义,即可周期性地自动被调度执行,大大减少人工操作的成本。
  • 周期执行任务并提前产生出分析结果,业务应用可直接查询结果获得快速响应。
  • 任务流执行时产生的中间结果可被复用,用于其他的数据分析任务,从而最大化DLA的资源利用。

操作步骤

  1. 登录新版DMS控制台
  2. 在页面顶部,选择全部功能 > 数据工厂 > 任务编排
  3. 任务编排页面的自由编排任务区域,单击新建任务流
  4. 新建任务流对话框,自定义填写任务流名称描述后,单击确认
  5. 单击任务流中画布的空白处,在右侧面板中单击任务流变量,配置如下变量。
    配置完变量后,您可以在SQL任务中,用${变量名}表示时间点或时长。关于变量的规则与作用详情,请参见任务

    新增weekday变量,格式为e,偏移为+1日

    表示获取当前日期为星期几(周日为第1天,若偏移0,则默认为周一为第1天)。

  6. 任务编排页面的左侧任务类型中,选择归档建仓 > DLA一键建仓并拖拽至页面中的空白区域
  7. 配置DLA一键建仓节点。
    您可以通过该节点,将数据库以文件的形式存入OSS数据湖仓库中,实现一键建仓。
    1. 单击新建的任务节点,在右侧属性面板中单击内容设置页签。
    2. 在内容设置页中配置以下参数,并单击保存
      配置 说明
      数据来源 在已接入DMS的实例中选择需要入DLA数据湖的数据库源,本案例中为RDS MySQL数据库。
      目标库(Schema)名称 填入需要在DLA中创建的Schema名称。
      建仓OSS路径 填入目标OSS数据位置。
      高级选项 通过一键建仓向导创建Schema时,您可以在高级选项中自定义一些设置,例如过滤字段或者表等,更多信息,请参见高级选项功能

      本示例为include-tables=adjust_source

      说明 关于DLA一键建仓的更多信息,请参见一键建仓
  8. 任务编排页面的左侧任务类型中,选择归档建仓 > DLA-SQL并拖拽至页面中的空白区域
  9. 配置DLA-SQL节点。
    您可以通过该节点,对数据湖仓库中的数据进行查询、加工、分析等操作。
    1. 双击页面中的DLA-SQL任务节点,在任务名文本框输入DLA-SQL-day,按回车键保存。
    2. 单击右侧属性面板中的内容设置页签,在该页面中编辑报表生成语句。
      SQL实例如下:
      CREATE EXTERNAL TABLE IF NOT EXISTS `rds_mysql_0723`.`adjust_day` (
        `id` DOUBLE COMMENT '',
        `auditon` TIMESTAMP COMMENT '',
        `returnmemo` STRING  COMMENT '',
        `issystem` DOUBLE COMMENT ''
      )
      STORED AS `PARQUET`
      LOCATION 'oss://xxx/DLA/DLA-Formation-rds_mysql_0723/${weekday}/adjust_day/'
      TBLPROPERTIES (
        'auto.create.location' = 'true',);
      
      INSERT OVERWRITE adjust_day
      SELECT
      id,
      auditon,
      returnmemo,
      issystem
      FROM adjust_source;
      说明 完成SQL、变量配置之后,单击SQL预览确认是否满足预期。确认无误后,单击属性面板右下角保存
  10. 返回到DAG图中,拖动鼠标连接2个任务节点。
  11. 完成DAG图的流程走向编辑后,在右侧属性面板中开启调度,完成配置后单击保存即可。
    说明 任务流调度周期支持每月、每周、每天多维度配置,您可以按需求选择调度周期,本案例为每个工作日的早上5点执行任务。

后续步骤

  • DLA一键建仓生成数据库后,若子账号没有查询权限,需要先申请权限,详情请参见权限管理
  • 您可以通过DMS提供的数据保护伞功能进行数据安全管理,详情请参加数据保护伞