物化视图推荐与管理

随着MaxCompute的深入使用,会出现对MaxCompute的表有很多重复查询的情况,并且不同使用者之间互相不知道其他人也在使用同样的计算逻辑。为了提高用户的计算效率、减少重复计算,同时加速用户计算。MaxCompute提供物化视图智能计算加速,为您智能分析推荐创建物化视图。本文为您介绍如何通过智能分析创建物化视图。

使用限制

  • 只支持在单个项目内做智能分析推荐,不支持跨项目或多项目联合分析推荐。

  • 为了更精准地生成物化视图推荐,开启物化视图推荐后,需要满足以下条件,才能在物化视图推荐页面查看到相关推荐。

    • 周期任务连续运行3天以上。

    • 公共子查询中的输入数据量大于1000000行。

    • 公共子查询中需要包含JOIN或AGG(聚合,Aggregation)等涉及数据重组计算的运算符。

  • 当前物化视图仅支持华东1(杭州)、华东2(上海)、华北2(北京)、华北3(张家口)、华南1(深圳)、西南1(成都)地域。

使用方式

开启智能分析

  1. 登录MaxCompute控制台,在左上角选择地域。

  2. 在左侧导航栏选择工作区 > 物化视图

  3. 物化视图页面,单击设置

  4. 设置页签,打开开启智能分析开关。

  5. 单击添加项目,在开通项目对话框选择项目后单击开通

创建物化视图

当您的项目已经提前一天开启智能分析后,可以在物化视图推荐页签查看推荐的公共子查询并创建物化视图。

  1. 登录MaxCompute控制台,在左上角选择地域。

  2. 在左侧导航栏选择工作区 > 物化视图

  3. 物化视图页面,单击物化视图推荐

  4. 物化视图推荐页签,填写如下筛选参数后,单击搜索

    参数

    说明

    项目名称

    在下拉列表选择MaxCompute项目名称,筛选目标项目下的公共子查询。

    说明

    选择的项目需要已经提前开启智能分析。

    源表名称

    输入表名称,筛选与输入表相关的公共子查询。

    可以输入多个表名称,使用半角逗号(,)间隔。

    分析时间区间

    选择起始时间,筛选指定日期区间的公共子查询。

    包含操作

    选择包含如下操作类型的公共子查询:

    • 包含连接操作:SQL中带有多表连接。

    • 包含聚合操作:SQL中带有聚合操作。

    可以单击重置,重置筛选参数。

  5. 在筛选出的公共子查询列表,单击目标公共子查询操作列的创建物化视图

    公共子查询列表说明如下:

    列名称

    说明

    摘要

    公共子查询的摘要信息。

    其中Aggregate表示推荐的公共子查询是否包含聚合操作;Inputs列出公共子查询使用的所有源表表名称。

    单击可以进入公共子查询详情面板查看当前公共子查询被重复使用的任务和SQL脚本信息,包含如下内容:

    • 公共子查询编号:后台自动生成的唯一编号,用来关联物化视图。

    • 公共子查询:公共子查询的SQL脚本,在该区域可以单击image按钮展开或者全屏查看SQL脚本、单击image按钮复制SQL脚本或单击image下载SQL脚本。

    • 原始SQL列表:目前只会展示最近5天的原始使用过该子查询的任务实例,包括如下内容:

      • Instance ID执行过该子查询的原始任务实例ID。

      • 提交任务项目名称执行任务实例的项目名称。

      • 提交人:任务的提交人。

      • 执行时间(s)子查询的执行时间,单位为秒。

      • 原始查询SQL可执行如下操作。

        • 查看详情:单击查看SQL详情。

        • 下载:单击下载对应的SQL。

    可影响SQL数

    当前公共子查询被多少其他任务作业使用。

    推荐指数

    推荐创建物化视图指数。

    1星到5星,星数越多表示越推荐创建物化视图。

    分析时间

    当前公共子查询的推荐分析时间。

    创建状态

    当前公共子查询是否已经创建物化视图。

    物化视图数

    使用当前公共子查询创建的物化视图的个数。

    单击可以跳转进入物化视图页面。

    操作

    可执行的操作:创建物化视图

    单击进入物化视图创建面板。

  6. 创建物化视图面板,设置如下参数。

    参数

    说明

    物化视图名称

    默认填写的是公共子查询编号,可以自定义指定,以字母或数字开头,包含字母、数字和下划线(_)。

    刷新方式

    可选值如下:

    • 固定时间间隔刷新:按照固定分钟、小时或天来更新物化视图数据。

    • 时间管理Cron模式:采用通用Cron模式定义物化视图数据更新。

    脚本

    推荐创建物化视图的SQL脚本。

    在该区域可以单击image按钮展开或者全屏查看SQL脚本,同时可以单击image按钮复制SQL脚本和单击image下载SQL脚本。

  7. 单击确定,立即创建物化视图。

    创建物化视图会有存储成本,存储价格与计算方式与普通表一致。

管理物化视图

  1. 登录MaxCompute控制台,在左上角选择地域。

  2. 在左侧导航栏选择工作区 > 物化视图

  3. 物化视图页面,单击物化视图管理

  4. 物化视图管理页签,填写如下筛选参数后,单击搜索

    参数

    说明

    项目名称

    在下拉列表选择MaxCompute项目名称,筛选目标项目下的物化视图。

    说明

    选择的项目需要已经提前开启智能分析。

    物化视图名称

    输入物化视图名称,筛选指定的物化视图。

    可以输入物化视图全称或者部分进行模糊匹配。

    创建时间

    选择起始时间,筛选指定日期区间创建的物化视图。

    可以单击重置,重置筛选参数。

  5. 在筛选出的物化视图列表,可以查看物化视图信息和管理物化视图。

    物化视图列表说明如下:

    列名称

    说明

    物化视图名称

    物化视图的名称。

    所属项目

    物化视图所在的项目名称。

    创建时间

    物化视图创建的时间。

    总被调用次数

    物化视图被调用总的次数。

    调用次数(最近24小时)

    物化视图被调用使用最近24小时内的次数。

    状态

    物化视图状态,有如下两种状态:

    • 已删除。

    • 使用中。

    操作

    可对物化视图执行的操作:

    • 物化视图调用情况:单击查看物化视图被调用使用情况和调用效果,物化视图调用详情页面包含如下内容:

      • 物化视图名称。

      • 物化视图详情:定义物化视图的SQL脚本。

      • 使用物化视图任务列表:展示所有调用该物化视图的任务明细,包含如下内容:

        • Instance ID任务对应的Instance ID。

        • 原始执行日期该任务在没有调用物化视图时执行的日期。

        • 原始执行时间(s)该任务在没有调用物化视图时执行的时间长度,单位为秒。

        • 调用MV执行日期该任务在调用物化视图时执行的日期。

        • 调用MV执行时间(s)该任务在调用了物化视图时执行的时间长度,单位为秒。

        • 节省时间(s)该任务调用了物化视图时执行节省的时间。

    • 删除:单击删除物化视图。