基于MaxCompute的离线任务会对数据产出有时间要求,在确保数据准确性的前提下,您需要进一步让数据能够及时提供服务。本文为您介绍如何使用DataWorks智能监控功能完成数据及时性的监控。

前提条件

本文为您演示基础版DataWorks的基本智能监控功能:规则管理。如果您想使用完整的智能监控功能,需至少购买标准版DataWorks,详情请参见DataWorks增值版本功能对比。关于DataWorks智能监控功能详情请参见智能监控概述

背景信息

在对数据产出及时性监控前,您需要首先确定调度任务的优先级。数据资产等级越高的任务节点,优先级越高,您可以给予更加严格的数据及时性监控和告警规则。

操作步骤

  1. 进入规则管理页面。
    在DataStudio页面单击运维中心(工作流)
    运维中心
    单击智能监控 > 规则管理。关于规则管理的详情请参见规则管理
    规则管理
  2. 新建自定义规则。
    单击新建自定义规则,输入参数后单击确定即可。
    自定义规则
    在本例中,监控整个业务流程每次运行时间不可超过30分钟。如果运行时间超过30分钟,则每30分钟上报一次告警。连续上报3次告警,系统自动以邮件及短信的方式来上报。对于重要的任务节点,您还可以单独设置任务节点规则,并定义其他触发条件
    触发条件
  3. 数据及时性优化。
    通常,影响数据按时产出的主要原因和优化方式如下表所示。
    问题原因 问题优化
    计算资源不足
    • 资源总量不足。例如,资源上限为500,但您提交了需要1000资源的任务。
    • 资源分配不合理,重要任务未优先分配资源。
    扩容计算资源,或让您的核心计算任务独占资源。
    代码执行效率低
    • 代码冗余,例如扫描所有分区。
    • 节点任务配置不合理,例如出现长尾问题。
    分级错峰:高峰时段让低优先级任务延迟启动。
    缺少问题紧急预案,运维人员无法应对。 在任务正式运行前,进行充分的测试。