更新时间:2024-06-29 GMT+08:00

CREATE EXCEPT RULE

功能描述

用于创建一个异常规则集合。创建时可以指定任意一个或者多个具体的规则阈值,也可以指定触发异常规则后所采取的操作,当前只支持终止(abort)操作。

注意事项

语法格式

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
CREATE EXCEPT RULE except_rule_name
       WITH (
            | BLOCKTIME = VALUE,
            | CPUTIME = VALUE,
            | ELAPSEDTIME = VALUE, 
            | CPUSKEWPERCENT = VALUE,
            | SPILLSIZE = VALUE,
            | BROADCASTSIZE = VALUE,
            | MEMSIZE = VALUE,
            | CPUAVGPERCENT = VALUE,
            | BANDWIDTH = VALUE,
            | ACTION = ['abort' | 'penalty']
            );

参数说明

  • rule_name

    异常规则集名称。

    取值范围:字符串(1-64个字符),要符合标识符的命名规范。

  • blocktime

    作业排队阻塞的最大时间,单位:秒。

    取值范围:数值型,-1,1~INT64_MAX。

  • elapsedtime

    作业执行的最大时间,单位:秒。

    取值范围:数值型,-1,1~INT64_MAX。

  • allcputime

    作业运行中使用的最大CPU时间,单位:秒。

    取值范围:数值型,-1,1~INT64_MAX。

  • cpuskewpercent

    作业执行时的平均CPU使用率,单位:百分比。

    取值范围:数值型,-1,1~100。

  • cpuavgpercent

    作业执行时的CPU使用倾斜率,单位:百分比。

    取值范围:数值型,-1,1~100。

  • spillsize

    作业执行的最大下盘大小,单位:MB。

    取值范围:数值型,-1,1~INT64_MAX。

  • broadcastsize

    作业执行的最大广播大小,单位:MB。

    取值范围:数值型,-1,1~INT64_MAX。

  • memsize

    作业执行使用的最大内存大小,单位:MB。

    取值范围:数值型,-1,1~INT64_MAX。

  • bandwidth

    作业执行可使用的最大带宽,单位:MB。

    取值范围:数值型,-1,1~INT64_MAX。

示例

创建一个异常规则集except_rule1并指定其blocktime规则阈值为3000秒,下盘空间为4000MB。

1
CREATE EXCEPT RULE except_rule1 WITH (blocktime=3000, spillsize=4000, action=abort);

创建一个异常规则集except_rule2并指定其memsize规则阈值为5000MB,默认所采取的异常规则操作为abort。

1
CREATE EXCEPT RULE except_rule2 WITH (memsize=3000);

创建一个资源池并绑定异常规则集except_rule3。

1
CREATE resource pool resource_pool_a1 WITH (except_rule='except_rule3');