更新时间:2025-08-08 GMT+08:00
分享

队列属性设置

操作场景

DLI支持在队列创建完成后设置队列的属性。

当前支持设置:

  • 设置队列的Spark driver的相关参数:通过设置队列的Spark driver,以提升队列资源的调度效率。
  • 配置作业结果保存策略:设置是否开启队列的作业查询结果保存至DLI作业桶。
  • 开启Spark Native算子优化:开启Spark Native引擎特性,可以提升Spark SQL的作业性能,减少CPU和内存的消耗。

本节操作介绍在管理控制台设置队列属性的操作步骤。

约束与限制

  • 仅标准版弹性资源池的Spark引擎的SQL队列支持配置队列属性。
  • 不支持批量设置队列属性。
  • 不同队列属性的约束限制请参考表1
    表1 队列属性的约束限制

    属性

    支持设置该属性的阶段

    约束限制

    相关操作链接

    设置队列的Spark driver

    仅支持队列创建完成后设置队列属性

    弹性资源池中的队列,当队列的最小CUs小于16CUs时,在队列属性中设置的“最大spark driver实例数”和“最大预拉起spark driver实例数”不生效。

    设置队列属性操作步骤

    配置作业结果保存策略

    仅支持队列创建完成后设置队列属性

    开启“作业结果保存策略”,即配置作业结果保存至DLI作业桶后,请务必在提交SQL作业前配置DLI作业桶信息,否则SQL作业可能会提交失败。

    设置队列属性操作步骤

    开启Spark Native算子优化

    • 在弹性资源池中添加队列时
    • 队列创建完成后设置队列属性

    已经创建的队列通过DLI管理控制台或API修改Spark Native开关需要重启队列才会生效。

    • 弹性资源池队列开启Spark Native引擎特性需同时满足以下条件:
      • 弹性资源池规格:“标准版”。
      • 队列类型:“SQL队列”。
      • Spark引擎版本:Spark 3.3.1及以上版本
    • default队列当使用Spark 3.3.1及以上版本时,默认不开启Spark Native。
    • 支持作业级别关闭Spark Native特性,可以通过在SQL作业的参数设置中配置spark.gluten.enabled=false来实现作业级别关闭Spark Native。

    开启Spark Native算子优化

设置队列属性操作步骤

  1. 在DLI管理控制台的左侧导航栏中,单击资源管理 > 队列管理
  2. 在对应队列的“操作”列,选择“更多 > 属性设置”。
  3. 进入队列属性设置页面,设置对应的属性值。属性值相关参数说明请参考表2
    表2 队列属性

    属性类型

    属性名称

    API参数名称

    说明

    取值范围

    spark driver类型

    最大spark driver实例数

    computeEngine.maxInstance

    队列能启动的最大spark driver数量。包含预先启动的spark driver和运行作业的spark driver。

    • 当队列为16CUs时范围:2
    • 当队列大于16CUs时范围:2-(CU数/16)
    • 队列最小CUs小于16CUs时,该配置项不生效。

    最大预拉起spark driver实例数

    computeEngine.maxPrefetchInstance

    队列预先启动的最大spark driver数量。当运行作业的spark driver任务数超过“单spark driver实例最大并发数”的值时,作业将会分配到预先启动的spark driver上面。

    • 当队列为16CUs时范围:0-1
    • 当队列大于16CUs时范围:2-(CU数/16)
    • 队列最小CUs小于16CUs时,该配置项不生效。

    单spark driver实例最大并发数

    job.maxConcurrent

    单个spark driver能同时运行的最大任务数量。当任务超过此值时,作业将会分配给其它spark driver运行。

    1-32

    作业结果保存策略

    结果保存策略设置

    job.saveJobResultToJobBucket

    设置是否开启队列的作业查询结果保存至DLI作业桶。

    仅Spark SQL队列支持设置该参数。

    一旦开启此功能,将无法关闭,作业结果将始终保存至用户设置的DLI作业桶。

    开启作业结果保存桶后,请务必确保已经配置DLI作业桶信息。配置DLI作业桶操作请参考配置DLI作业桶

    如需判断当前是否已开启SQL作业结果保存DLI作业桶请参考怎样查看SQL队列是否已开启作业结果保存至DLI作业桶

    推荐您开启作业结果保存至DLI作业桶,以便更好地管理和存储SQL作业的查询结果。

    不涉及

    开启Spark Native算子优化

    DLI Spark Native加速

    computeEngine.spark.nativeEnabled

    开启Spark Native引擎特性,可以提升Spark SQL的作业性能,减少CPU和内存的消耗。

    了解更多开启Spark Native算子优化

    开启或关闭

  4. 单击“确定”完成队列属性的设置。

怎样查看SQL队列是否已开启作业结果保存至DLI作业桶

  • 方法1:在SQL作业详情页面查看结果路径
    1. 登录DLI管理控制台,单击“作业管理 > SQL作业”。
    2. 单击查看SQL作业详情。
    3. 查看作业详情中的“结果路径”:
      • 如果结果路径显示为用户自定义的DLI作业桶,则说明该作业所在的队列开启了作业结果保存至作业桶。
      • 如果作业详情中不显示“结果路径”,则说明作业所在的队列未开启作业结果保存至作业桶。
  • 方法2:查看SQL队列属性中是否开启作业结果保存至作业桶
    1. 登录DLI管理控制台,单击资源管理 > 队列管理
    2. 在对应队列的“操作”列,选择“更多 > 属性设置”。
    3. 进入队列属性设置页面,查看“开启作业结果保存至作业桶”的配置情况。

相关文档