更新时间:2024-04-19 GMT+08:00

设置作业优先级

操作场景

在实际作业运行中,由于作业的重要程度以及紧急程度不同,需要重点保障重要和紧急的作业正常运行,因此需要满足它们正常运行所需的计算资源。

DLI提供的设置作业优先级功能,可以对每个Spark作业、Spark SQL作业以及Flink作业设置作业优先级,当资源不充足时,可以优先满足优先级较高的作业的计算资源。

  • 只有运行在弹性资源池上的作业支持设置作业优先级。
  • 弹性资源池上的SQL作业支持作业优先级。
  • Spark 2.4.5及以上版本的作业支持设置作业优先级。
  • Flink 1.12及以上版本的作业支持设置作业优先级。

使用须知

  • 对于每个作业都允许设置优先级,其取值为1-10,数值越大表示优先级越高。优先满足高优先级作业的计算资源,即如果高优先级作业计算资源不足,则会减少低优先级作业的计算资源
  • 通用队列上运行的Flink作业优先级默认为5。
  • 通用队列上运行的Spark作业的优先级默认为3。
  • SQL队列上运行的作业优先级默认为3。
  • 作业优先级的调整需要停止作业进行编辑,并提交运行才能生效。
  • 对于Flink作业,请参考开启Flink作业动态扩缩容设置flink.dli.job.scale.enable=true开启动态扩缩容功能,再设置作业优先级。
  • Flink作业优先级的调整需要停止编辑作业并重新提交才能生效。

Flink Opensource SQL作业操作步骤

  1. 登录DLI管理控制台。
  2. 单击“作业管理 > Flink作业”。
  3. 选择要待配置的作业,单击操作列下的编辑。
  4. 单击“自定义配置”。
  5. 在“自定义配置”中输入如下语句,先开启动态扩缩容功能,再设置作业优先级。

    对于Flink作业,必须先设置flink.dli.job.scale.enable=true开启动态扩缩容功能,再设置作业优先级。

    开启动态扩缩容的更多参数设置请参考开启Flink作业动态扩缩容

    flink.dli.job.scale.enable=true
    flink.dli.job.priority=x
    图1 Flink Opensource SQL作业配置样例

Flink Jar作业操作步骤

在“优化参数”中配置如下参数,其中x为优先级取值。

flink.dli.job.priority=x
  1. 登录DLI管理控制台。
  2. 单击“作业管理 > Flink作业”。
  3. 选择待配置的作业,单击操作列下的编辑。
  4. 在“优化参数”中输入如下语句。先开启动态扩缩容功能,再设置作业优先级。

    对于Flink作业,必须先设置flink.dli.job.scale.enable=true开启动态扩缩容功能,再设置作业优先级。

    开启动态扩缩容的更多参数设置请参考开启Flink作业动态扩缩容

    flink.dli.job.scale.enable=true
    flink.dli.job.priority=x
    图2 Flink Jar作业配置样例

Spark作业操作步骤

在“Spark参数”中配置如下参数,其中x为优先级取值。

spark.dli.job.priority=x
  1. 登录DLI管理控制台。
  2. 单击“作业管理 > Spark作业”。
  3. 选择待配置的作业,单击操作列下的编辑。
  4. 在“Spark参数”中配置spark.dli.job.priority参数。
    图3 Spark作业配置样例

Spark SQL作业操作步骤

在“ 设置 > 参数配置”中配置如下参数,其中x为优先级取值。
spark.sql.dli.job.priority=x
  1. 登录DLI管理控制台。
  2. 单击“作业管理 > SQL作业”。
  3. 选择待配置的作业,单击操作列下的编辑。
  4. 在“ 设置 > 参数配置”中配置spark.sql.dli.job.priority参数。
    图4 Spark SQL作业配置样例